結果
問題 |
No.371 ぼく悪いプライムじゃないよ
|
ユーザー |
|
提出日時 | 2016-05-15 02:32:40 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 989 bytes |
コンパイル時間 | 1,489 ms |
コンパイル使用メモリ | 167,908 KB |
実行使用メモリ | 10,496 KB |
最終ジャッジ日時 | 2024-10-06 03:06:57 |
合計ジャッジ時間 | 4,724 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 WA * 1 |
other | AC * 15 WA * 5 TLE * 1 -- * 21 |
ソースコード
#include <bits/stdc++.h> using namespace std; typedef long long ll; template<typename T> using Graph = vector<vector<T>>; #define REP(i, a, b) for (int i = (int)(a); i < (int)(b); i++) #define rep(i, a) REP(i, 0, a) #define EACH(i, a) for (auto i: a) #define ITR(x, a) for (__typeof(a.begin()) x = a.begin(); x != a.end(); x++) #define ALL(a) (a.begin()), (a.end()) #define HAS(a, x) (a.find(x) != a.end()) #define endl '\n' ll L, H; ll min_factor(ll N) { if (N % 2 == 0) return 2; ll x = 3; while (x*x <= N) { if (N % x == 0) { return x; } x += 2; } return -1; } int main(void) { cin.tie(0); ios::sync_with_stdio(false); cin >> L >> H; if (H % 2 == 0 && H - L > 2) H -= 1; ll ans = -1, mx = -1; for (ll x = H; x >= max(L, H - (ll)1e5); x -= 2) { ll val = min_factor(x); if ((val + 1)*(val + 1) > H) { ans = x; break; } if (val > mx) { mx = val; ans = x; } } cout << ans << endl; return 0; }