Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
335823 | 黄浙峰老师 | 【C6-8】跳石头 | C++ | 通过 | 100 | 13 MS | 364 KB | 515 | 2025-07-24 10:01:19 |
//跳石头 #include<bits/stdc++.h> using namespace std; const int N=50100; int a[N]; int n, m, l; bool check(int mid){ int c=0; //跳跃次数 int p=0; //人站的位置 for(int i=1; i<=n; i++){ if(a[i]-p<mid) c++; else p=a[i]; } return c<=m; } int main(){ cin>>l>>n>>m; for(int i=1; i<=n; i++){ cin>>a[i]; } int left =1,right=l,mid; while(left<=right){ mid=(left+right)/2; if(check(mid)) left=mid+1; else right=mid-1; } cout<<left-1; return 0; }