64分求助大佬
查看原帖
64分求助大佬
181437
cyfff楼主2021/7/5 21:12
#include<bits/stdc++.h>
using namespace std;
int a[100005],b[50005],c[50005],n,i,l,r,ans,n2;
inline int rd(){
	int x=0,y=1;char c=getchar();
	for(;c<'0'||c>'9';c=getchar())if(c=='-')y=0;
	for(;c>='0'&&c<='9';c=getchar())x=(x<<1)+(x<<3)+(c^48);
	return y?x:-x;
}
int main(){
	n=rd();n2=n>>1;
	for(i=1;i<=n;++i)a[b[i]=rd()]=1;
	sort(b+1,b+1+n2);
	sort(b+n2+2,b+n+1);
	for(i=1;i<=2*n;++i)
	if(!a[i])c[++l]=i;
	for(r=n,i=n2;i;--i)
	if(c[r]>b[i])--r,++ans;
	for(l=1,i=n2+1;i<=n;++i)
	if(c[l]<b[i])++l,++ans;
	printf("%d",ans);
	return 0;
}
2021/7/5 21:12
加载中...