蒟蒻subtask无法通过,求助
查看原帖
蒟蒻subtask无法通过,求助
1183011
yerosius楼主2024/5/29 18:02
#include<bits/stdc++.h>

using namespace std;
using ll=long long;
int l,n,k,ans;
vector<int>v;
bool check(int mid){
    int count=0;//路牌数
    int current=0,next=1;
    while(next<n){
        if(v[next]-current>mid) count++,current+=mid;
        else current=v[next],next++;
    }
    return count<=k;
}
void solve(){
	int l=0,r=*max_element(v.begin(),v.end())-*min_element(v.begin(),v.end()),mid;
	while(l<=r){
        mid=l+r>>1;
        if(check(mid)) ans=mid,r=mid-1;
        else l=mid+1;
    }
    cout<<ans<<endl;
}
int main(){
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	cin>>l>>n>>k;
    v.resize(n);
    for(int i=0;i<n;i++) cin>>v[i];
	sort(v.begin(),v.end());
	solve();
	return 0;
}
2024/5/29 18:02
加载中...