Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<algorithm>
- using namespace std;
- int a[50005];
- int n,k;
- int main()
- {
- scanf("%d%d",&n,&k);
- for(int i=0;i<n;i++) scanf("%d",&a[i]);
- sort(a,a+n);
- int left=0,right=a[n-1];
- int i;
- while(1)
- {
- if(right==(left+1)) break;
- i=(left+right)/2;
- int cur=k;
- int j=0;
- while(cur--)
- {
- int pivot=a[j];
- while(a[j]<=(pivot+i))
- {
- j++;
- if(j>=n) break;
- }
- if(j>=n) break;
- }
- if(j>=n) right=i;
- else left=i;
- }
- printf("%d",right);
- return 0;
- }
Add Comment
Please, Sign In to add comment