結果
問題 |
No.715 集合と二人ゲーム
|
ユーザー |
|
提出日時 | 2020-04-22 18:57:08 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 181 ms / 2,000 ms |
コード長 | 611 bytes |
コンパイル時間 | 703 ms |
コンパイル使用メモリ | 72,504 KB |
実行使用メモリ | 8,064 KB |
最終ジャッジ日時 | 2024-10-11 23:02:51 |
合計ジャッジ時間 | 5,416 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 60 |
コンパイルメッセージ
main.cpp:9:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type] 9 | main() | ^~~~
ソースコード
#include<iostream> #include<set> #include<algorithm> using namespace std; int N; int A[5<<17]; int gru[5<<17]; int ex[5<<17]; main() { cin>>N; for(int i=0;i<N;i++)cin>>A[i]; sort(A,A+N); gru[1]=gru[2]=1; for(int i=3;i<5<<17;i++) { if(i>=200) { gru[i]=gru[i-34]; continue; } for(int j=3;j-3<=i-j;j++) { ex[gru[j-3]^gru[i-j]]=i; } ex[gru[i-2]]=i; int id=0; while(ex[id]==i)id++; gru[i]=id; } int ans=0; int c=1,pre=A[0]; for(int i=1;i<N;i++) { if(pre+1<A[i]) { ans^=gru[c]; c=1; } else c++; pre=A[i]; } ans^=gru[c]; cout<<(ans?"First":"Second")<<endl; }