1个WA求调
查看原帖
1个WA求调
1078846
cute_楼主2025/8/2 10:46
#include<bits/stdc++.h>
using namespace std;
int loo;
int n;
int m;
int a[100011];
int l;
int r;
int mid;
int nex;
int cs;
int check(int k){
	nex=k;
	cs=0;
	for(int i=2;i<=n;i++){
		if(a[i]>nex){
			nex=a[i]+k;
		}
		else{
			cs++;
		}
	}
	if(cs<=m){
		return 1;
	}
	else{
		return 0;
	}
}
int main(){
	cin>>loo;
	cin>>n;
	cin>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i+1];
	}
	n+=2;
	a[n]=loo;
	l=0;
	r=a[n];
	mid=(l+r)/2;
	while(l<=r){
		mid=(l+r)/2;
		if(check(mid)==1){
			l=mid+1;
		}
		else{
			r=mid-1;
		}
	}
	cout<<mid;
}

2025/8/2 10:46
加载中...