这份代码哪里错了?0分求助
查看原帖
这份代码哪里错了?0分求助
1020531
liuyiyang_khaili楼主2023/11/25 09:57
#include <bits/stdc++.h>
using namespace std;
int a[50007];
int d,m,n;
int l,r;
int ans;
bool check(int x){
    int cnt=0,pos=0;
    int i=0;
    while(i<=n){
        i++;
        if(a[i]-a[pos]>x){
            cnt++;
        }
        else{
            pos=i;
        }
    }
    if(cnt>m)return false;
    else return true;
}
int main() {
    scanf("%d%d%d",&d,&n,&m);
    for(int i=1;i<=n;i++){
        scanf("%d",&a[i]);
    }
    a[n+1]=d;
    l=1;
    r=d;
    while(l<=r){
        int mid=(l+r)/2;
        printf("%d %d %d\n",l,r,mid);
        if(check(mid)){
            ans=mid;
            l=mid+1;
        }
        else{
            r=mid-1;
        }
    }
    cout<<ans;
    return 0;
}``````
2023/11/25 09:57
加载中...