結果
| 問題 | No.308 素数は通れません |
| コンテスト | |
| ユーザー |
zerokugi
|
| 提出日時 | 2015-12-01 07:09:00 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 524 bytes |
| コンパイル時間 | 561 ms |
| コンパイル使用メモリ | 67,232 KB |
| 実行使用メモリ | 6,948 KB |
| 最終ジャッジ日時 | 2024-09-14 06:37:18 |
| 合計ジャッジ時間 | 2,806 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge6 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 98 WA * 9 |
ソースコード
#include <iostream>
#include <set>
#include <vector>
using namespace std;
int n;
string s;
int main(int argc, char *argv[]){
set<int> p({2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47});
cin >> s;
n = (s.size() < 3) ? min(atoi(s.c_str()), 50) : 50;
for(int i=3;;i++){
vector<int> ok(2*n);
ok[0] = 1;
for(int _=9;_--;)for(int j=0;j<n;j++)if(ok[j] && !p.count(j+1)){
if(j/i == (j+1)/i) ok[j+1] = 1;
if(j>=i) ok[j-i] = 1;
ok[j+i] = 1;
}
if(ok[n-1]){
cout << i << endl;
return 0;
}
}
}
zerokugi