Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
127527 | 梁思宸 | 跳石头 | C++ | 通过 | 100 | 8 MS | 468 KB | 557 | 2024-01-25 09:23:47 |
#include <bits/stdc++.h> using namespace std; int l,n,m,a[50005],ans; bool check(int dis){ int count=0,last=0; for(int i=1;i<=n;i++) if(a[i]-last<dis)count++; else last=a[i]; if(count>m)return 0;return 1; } int main() { ios::sync_with_stdio(0); cin>>l>>n>>m; for(int i=1;i<=n;i++) cin>>a[i]; a[n+1]=l; int fl=0,fr=l; while(fl<=fr) { int mid=(fl+fr)/2; if(check(mid))fl=mid+1,ans=mid; else fr=mid-1; } cout<<ans; return 0; }