結果
問題 | No.7 プライムナンバーゲーム |
ユーザー |
![]() |
提出日時 | 2019-08-29 19:15:26 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 18 ms / 5,000 ms |
コード長 | 750 bytes |
コンパイル時間 | 1,443 ms |
コンパイル使用メモリ | 169,296 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-01 16:23:51 |
合計ジャッジ時間 | 2,360 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 17 |
ソースコード
#include "bits/stdc++.h" using namespace std; typedef long long ll; void Say(bool say, string a = "Yes", string b = "No"){cout << (say ? a : b) << endl;}; ll hoge[10101] = {1, 1}; ll pri[10101]; vector<ll>v; int main(){ for(ll i = 2; i < 10101; i++)pri[i] = 1; for(ll i = 2; i * i < 10101; i++){ for(ll j = i + i; j < 10101; j += i)pri[j] = 0; } for(ll i = 2; i < 10101; i++){ if(pri[i])v.push_back(i); } for(ll i = 4; i <= 10000; i++){ for(ll j = 0; j < v.size(); j++){ ll pre = i - v[j]; if(pre < 0)break; if(hoge[pre] == 0){ hoge[i] = 1; } } } ll N; cin >> N; Say(hoge[N], "Win", "Lose"); return 0; }