1 条题解
-
1
#include<bits/stdc++.h> using namespace std; const int maxn=1e6+5; long long int a[maxn],len,n,m; int check(int mid){ int cnt=0,now=0; for(int i=1;i<=n;i++){ if(a[i]-a[now]<mid) { cnt++; } else{ now=i; } } if(cnt<=m) return 1; return 0; } int main(){ cin>>len>>n>>m; for(int i=1;i<=n;i++) cin>>a[i]; a[0]=0; a[n+1]=len; long long l=1,h=len; while(l<h){ long long mid=(l+h+1)/2; if(check(mid)) l=mid; else h=mid-1; } cout<<l; return 0; }
- 1
信息
- ID
- 1953
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- 递交数
- 15
- 已通过
- 3
- 上传者