1 条题解
-
3
我是题解
#include<bits/stdc++.h> using namespace std; #define int unsigned long long int a[11451454],n,k,l,r; bool check(int o){ int t=1,f=0; f=a[1]; for(int i=2;i<=n;i++){ if(a[i]-f>o){ t++; f=a[i]; //cout<<f<<" "; if(t==k){ //cout<<endl; return 0; } } } //cout<<endl; return 1; } signed main(){ cin>>n>>k; for(int i=1;i<=n;i++){ cin>>a[i]; r+=a[i]; } l=0;r*=2; sort(a+1,a+n+1); while(r-l>1){ int m=(r+l)/2; //cout<<r<<" "<<l<<endl<<endl; if(check(m))r=m; else l=m; } //cout<<r<<" "<<l<<endl<<endl; cout<<r; }
- 1
信息
- ID
- 23
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 10
- 标签
- 递交数
- 6
- 已通过
- 4
- 上传者