100分样例RE求调,必关!
查看原帖
100分样例RE求调,必关!
892625
WangYinxiAlex楼主2024/8/24 17:50
#include<iostream>
#define ll long long
#define du double
#define for(i,st,ed,num) for(int i=st;i<ed;i+=num)
#define sc1(s,x) scanf(s,&x)
//#define sc2(s,x,y) scanf(s,&x,&y)
#define sc3(s,x,y,z) scanf(s,&x,&y,&z)
#define pr1(s,x) printf(s,x)
//#define pr2(s,x,y) printf(s,x,y)
//#define pr3(s,x,y,z) printf(s,x,y,z)
using namespace std;
const int N=100005;
int a[N];
int l,n,m;
bool Check(int num){
	int g=0,t=0;
	for(i,1,n+2,1){
		t=a[i]-a[i-1];
		if(t>num)g+=(t-1)/num;
	}
	if(g>m)return false;
	else return true;
}
int main(){
	sc3("%d%d%d",l,n,m);
	for(i,1,n+1,1)sc1("%d",a[i]);
	a[n+1]=l;
	int st=0,ed=l,ans=0;
	while(st<=ed){
		int mid=(st+ed)/2;
		if(Check(mid))ans=mid,ed=mid-1;
		else st=mid+1;
	}
	pr1("%d\n",ans);
	return 0;
}

评测状态:

2024/8/24 17:50
加载中...