結果

問題 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
権限があれば一括ダウンロードができます

ソースコード

diff #

#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;
		}
	}
}
0