1. 程式人生 > >洛谷P1824進擊的奶牛(貪心+整數型二分答案)

洛谷P1824進擊的奶牛(貪心+整數型二分答案)

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
using namespace std;
const int maxn=100007;
const double eps=1e-8;
int n,c;
int x[maxn];
int le=1,ri,mid;
int main(){
    scanf("%d%d",&n,&c);
    for(int i=0;i<n;i++){
        scanf(
"%d",&x[i]); } sort(x,x+n); ri=x[n-1]; int last=1; while(le<=ri){ mid=(le+ri)/2; if(last==mid){ break; } last=mid; int sum=x[0]+mid,cnt=1; for(int i=2;i<n;i++){ if(sum<=x[i]){ cnt
++; sum=x[i]+mid; } } if(cnt<c){ ri=mid-1; } else le=mid+1; } printf("%d\n",r1); }