求助
查看原帖
求助
590386
_LX_楼主2024/3/16 15:43

AC:50
WA:5
WA on Test 6

#include<bits/stdc++.h>
using namespace std;
template <typename T> inline void read(T& x) {
	x=0;T f=1;
	char ch=getchar();
	while(ch<'0'||ch>'9') {if(ch=='-')f=-1;ch=getchar();}
	while(ch>='0'&&ch<='9')x=(x<<1)+(x<<3)+(ch^48),ch=getchar();
	x=x*f;
	return;
}
template <typename T,typename ...Arg>void read(T& x,Arg& ...arg){
	read(x);
	read(arg...);
}
template <typename T>void write(T x) {
	if(x<0)putchar('-'),x=-x;
	if(x<10)putchar(x+'0');
	else write(x/10),putchar(x%10+'0');
}
template <typename T,typename ...Arg>void write(T& x,Arg& ...arg){
	write(x);
	putchar(' ');
	write(arg...);
}
#define MAXN 100005
int n,k;
int num[MAXN];
inline bool cmp(int x,int y){return x>y;}

signed main(){
	memset(num,-1,sizeof(num));
	read(n);
	for(int i=1;i<=n;i++) read(num[i]);
	sort(num+1,num+n+1,cmp);
	num[0]=num[1];
	for(k=0;k<=n;k++) if(num[k]<=k){k--;break;}
	int l=(num[k+1]-k),r;
	for(r=k+1;r<=n+1;r++){
		if(num[r]<=k){
			r--;
			break;
		}
	}
	r=(r-k);
	if(l%2&&r%2) printf("Second\n");
	else printf("First\n");
	return 0;
}
2024/3/16 15:43
加载中...