论while函数炸了!(悬1关)
查看原帖
论while函数炸了!(悬1关)
890623
Mars_Xiemengyang楼主2025/2/7 19:22
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int a[N],n,p,c;
bool check(int x){
    int sum=0;
    int l=a[1];
    for(int i=2;i<=n;i++){
        if(a[i]-l<x) sum++;
        else l=a[i];
        if(sum>p) return false;
    }
    return true;
}
int main(){
    cin>>n>>c;
    for(int i=1;i<=n;i++) cin>>a[i];
    sort(a+1,a+n+1);
    p=n-c;
    int l=1,r=a[n]-a[1];
    int ans=0;
    while(l<=r){
        int mid=(l+r)>>1;
        if(check(mid)) l=mid;
        else r=mid;
    }
    cout<<r;
    return 0;
}
```-
2025/2/7 19:22
加载中...