蒟蒻求助
查看原帖
蒟蒻求助
246822
Yhlo_Yzj楼主2021/12/20 22:48

不知道为什么只对了60分

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,a[10000005];
bool check(int x){
	int sum=1;
	int cnt=0,mini=1e9;
	for(int i=1;i<=n;i++){
		if(a[i+1]-a[i]==1){
			sum++;
		}
		else if(a[i+1]-a[i]!=1){
			mini=min(mini,sum);
			sum=1;
		}
	}
	return mini<=x;
}
signed main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	sort(a+1,a+1+n);
	int lt=1,rt=n;
	while(lt<rt){
		int mid=(lt+rt)/2;
		if(check(mid))rt=mid;
		else lt=mid+1;
	}
	cout<<rt;
	return 0;
}

2021/12/20 22:48
加载中...