二分写出来的答案经常有个位数上的误差
  • 板块学术版
  • 楼主534216cc
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/12/4 11:03
  • 上次更新2023/10/27 00:32:32
查看原帖
二分写出来的答案经常有个位数上的误差
699457
534216cc楼主2022/12/4 11:03

求助,p2678```cpp #include using namespace std; int l,n,m,a[50005]; int lleft,rright,mid=0; bool check(int x) { int sum=0; int now=0,i=0; while(i<n+1) { i++; //cout<<a[i]-a[now]<<endl; if((a[i]-a[now])<x) { sum++; } else { now=i; } } return sum>m; } int main() { cin>>l>>n>>m; a[n+1]=l; for(int i=1;i<=n;i++) cin>>a[i]; lleft=1;rright=l; long long ans; while(lleft<=rright) { mid=(lleft+rright)/2; //cout<<mid<<endl; if(check(mid)) rright=mid-1; else { ans=mid; lleft=mid+1; } } cout<<mid; return 0; }

2022/12/4 11:03
加载中...