8 条题解
-
0
/* int %o/%lo 8 %d/%i/%ld/%li 10 %x/%lx 16 longlong %lld float %f/%e double %lf/%le char %c char[] %s 'a'=97 'z'=122 'A'=65 'Z'=90 '0'=48 '9'=57 */ #include <iostream> #include <iomanip> #include <cmath> #include <cstdio> #include <cstring> #include <algorithm> #include <ctime> #include <limits> #include <assert.h> #include <stdlib.h> using namespace std; #define LL long long #define ull unsigned long long const int N=1e5+10; const int INF=0x3f3f3f3f; const double pi=3.1416; int L,n,m,a[N],ans,l,r; bool check(int mid){ int last=0,sum=0; for(int i=1;i<=n;i++){ if(a[i]-last<mid){ sum++; }else{ last=a[i]; } } return sum<=m; } int main(){ cin>>L>>n>>m; for(int i=1;i<=n;i++){ cin>>a[i]; } a[++n]=L; l=1,r=L; while(l<=r){ int mid=(l+r)>>1; if(check(mid)){ ans=mid; l=mid+1; }else{ r=mid-1; } } cout<<ans; return 0; }
信息
- ID
- 755
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 6
- 标签
- 递交数
- 554
- 已通过
- 167
- 上传者