蒟蒻代码求调
查看原帖
蒟蒻代码求调
938430
_CUI_楼主2024/3/3 15:22

rt

#include<bits/stdc++.h>
using namespace std;
const int N=3e5+1;
int s[N],n,len;
map<int,bool> f;
bool cmp(int a,int b){return a<b;}
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		int x;
		scanf("%d",&x);
		if(!f[x]) s[++len]=x,f[x]=true;
	}
	int i=0,p=1;
	while(true){
		if(p<=min(n,len) && s[p]!=i+1){	
			n-=(s[p]-(i+1))*2;
			if(n<i){
				printf("%d",i);
				return 0;
			}
			n++,i=s[p]-1;
		}
		else if(p>min(n,len)){
			n-=2;
			if(n<i){
				printf("%d",i);
				return 0;
			}
			n++;
		}
		i++,p++;
	}
	return 0;
}
2024/3/3 15:22
加载中...