Problem D 牛栏(aggr)
来源:互联网 发布:python 正则匹配 开始 编辑:程序博客网 时间:2024/06/05 11:56
牛栏(aggr)
Time Limit:10000MS Memory Limit:65536K
Total Submit:129 Accepted:72
Description
FJ新建了一个有N(2 <= N <= 100,000)个畜栏的畜棚.畜栏的位置分布在直线的点x_1, ..., x_N (0 <= x_i <= 1,000,000,000)上.
他的C(2 <= C <= N)只牛不喜欢这个畜棚的设计并且对在同一个畜栏里的其他牛进行攻击。为了防止牛受到伤害,FJ想把这些牛分配到某些畜栏中,使得这些牛所在的任意两个畜栏之间的最短距离尽可能长。求最长的最短距离是多少?
Input
*第1行:两个用空格隔开的整数:N和C
*第2到N+1行:每行包括一个整数,畜栏的位置:X_i
Output
*第一行:一个整数:最长的最短距离
Sample Input
5 312849
Sample Output
3样例解释:FJ把3只牛放到位置是1、4和8的畜栏里,最短距离是3。
Source
#include<algorithm>#include<iostream>#include<cstdio>using namespace std;long long n,a[100010],c;bool check(int m){int start=1,end=2,num=1;while(1){if(start>n||end>n) break;if(a[end]-a[start]>=m) {start=end;end++;num++;}else end++;}return num>=c;}int er(int lo,int hi){while(lo+1<hi){int mid=(lo+hi)/2;if(check(mid)) lo=mid;else hi=mid;}return lo;}int main(){cin>>n>>c;for(int i=1;i<=n;i++){ scanf("%I64d",&a[i]);}sort(a+1,a+1+n);cout<<er(0,a[n]+1); return 0;}
阅读全文
0 0
- Problem D 牛栏(aggr)
- Problem D
- Problem D
- Problem D
- problem D
- Problem D
- Problem D
- Problem D
- Problem D
- Problem-D
- Problem D
- Problem D
- Problem D
- Problem D
- Problem-D
- Problem D
- Problem D & Problem J
- Problem D: 数组类(II)
- 压缩 解压文件
- Spring MVC 拦截器
- 数组中有一个数字出现的次数超过数组长度的一半
- c语言学习笔记6.18下午
- 利用反射机制改变String的值
- Problem D 牛栏(aggr)
- 【es6】数组
- yii2中添加全局静态函数
- Mac 系统怎么安装和配置MySQL呢?
- Problem:E 探险
- latex入门——数学公式
- linux中文件系统的挂载,及各种类型的实现试验
- python中datetime模块中datetime对象的使用方法
- 难以支付解题报告