RE求调
查看原帖
RE求调
772828
lliou楼主2024/7/22 23:53
#include<bits/stdc++.h>
using namespace std;
long long len,n,m,a[1000000],d[1000000],x,y,minn=1e10;
int check(long long mid){
	int p=0,q=1;
	for(int i=1;i<=len;i++){
		if(a[i]>0){
			q=0;
			continue;
		}
		if(q>=mid){
			p++;
			q=0;
		}
		q++;
	}
	if(p<=m){
		return 1;
	}
	else{
		return 0;
	}
}
int main(){
	scanf("%d%d%d",&len,&n,&m);
	for(int i=0;i<=n-1;i++){
		scanf("%d",&x);
		a[x]++;
		if(i>=1){
			if(x-y<=minn){
				minn=x-y;
			}
		}
		y=x;
	}
	long long l=0,r=len,mid;
	while(l<r){
		mid=(l+r)/2;
		if(check(mid)==1){
			r=mid;
		}
		else{
			l=mid+1;
		}
	}
	cout<<min(l,minn);
}

放路标用的模拟,与原路标的最小空旷值比较。 自己跑样例没问题,但是交上去全RE 五彩斑斓地挂了

2024/7/22 23:53
加载中...