Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
109335 李承瀚 跳石头 C++ 解答错误 0 12 MS 448 KB 467 2023-11-08 13:32:09

Tests(0/10):


#include<iostream> #include<cstdio> using namespace std; int l,n,m,a[50002]; bool check(int x){ int t=0; int sum=0; for(int i=1;i<=n;i++){ if(a[i]-t>=x){ t=a[i]; }else{ sum++; } } if(l-t<x){ sum++; } return sum<=m; } int main(){ cin>>l>>n>>m; int l=1,r=l; for(int i=1;i<=n;i++){ cin>>a[i]; } while(r>l){ int abc=(l+r+1)>>1; if(check(abc)){ l=abc; }else{ r=abc-1; } } cout<<l; return 0; }


测评信息: