結果

問題 No.1267 Stop and Coin Game
コンテスト
ユーザー 👑 tails
提出日時 2020-10-23 22:46:43
言語 cLay
(20250308-1 + boost 1.89.0)
コンパイル:
clayc _filename_
実行:
./a.out
結果
AC  
実行時間 44 ms / 2,000 ms
コード長 436 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,781 ms
コンパイル使用メモリ 190,080 KB
実行使用メモリ 21,088 KB
最終ジャッジ日時 2026-03-26 23:19:33
合計ジャッジ時間 3,381 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 43
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

ll g[1<<20],a[20],b[1<<20];
{
	ll @n,@v;
	rd(a(n));

	int k=0;
	for(int i=1;i<1<<n;++i){
		if(i&i-1){
			b[i]=b[i&i-1]+b[i&-i];
		}else{
			b[i]=a[k++];
		}
	}
	if(b[(1<<n)-1]<=v){
		wt("Draw");
		exit(0);
	}
	for(int i=1<<n;--i>=0;){
		if(b[i]>v){
			g[i]=24;
		}else{
			int t=0;
			for(int j=1;j<1<<n;j<<=1){
				if(~i&j){
					t|=1<<g[i|j];
				}
			}
			while(t&1){
				t>>=1;
				g[i]++;
			}
		}
	}
	wt(g[0]?"First":"Second");
}
0