結果
| 問題 |
No.407 鴨等素数間隔列の数え上げ
|
| コンテスト | |
| ユーザー |
ヒッキープログラミングするスレ
|
| 提出日時 | 2016-08-05 23:16:14 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 790 bytes |
| コンパイル時間 | 361 ms |
| コンパイル使用メモリ | 12,544 KB |
| 実行使用メモリ | 56,512 KB |
| 最終ジャッジ日時 | 2024-11-07 01:41:39 |
| 合計ジャッジ時間 | 7,016 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 5 |
| other | AC * 21 WA * 2 RE * 4 TLE * 2 -- * 2 |
ソースコード
N, L = list(map(int, input().strip().split(' ')))
ans = 0
NMAX = L // (N - 1)
nonprime = [False] * (NMAX + 1)
for i in range(6, len(nonprime), 6):
if nonprime[i - 1] and nonprime[i + 1]:
continue
if not nonprime[i - 1]:
k = L - (i - 1) * (N - 1)
if k < 0:
break
ans += k + 1
j = 3
x = i - 1
while x * j <= NMAX:
nonprime[x * j] = True
j += 2
if not nonprime[i + 1]:
k = L - (i + 1) * (N - 1)
if k < 0:
break
ans += k + 1
j = 3
x = i + 1
while x * j <= NMAX:
nonprime[x * j] = True
j += 2
if 2 * (N - 1) <= L:
ans += L - 2 * (N - 1) + 1
if 3 * (N - 1) <= L:
ans += L - 3 * (N - 1) + 1
print(ans)
ヒッキープログラミングするスレ