結果
問題 |
No.732 3PrimeCounting
|
ユーザー |
![]() |
提出日時 | 2025-08-11 17:40:07 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 929 bytes |
コンパイル時間 | 333 ms |
コンパイル使用メモリ | 82,652 KB |
実行使用メモリ | 99,188 KB |
最終ジャッジ日時 | 2025-08-11 17:40:57 |
合計ジャッジ時間 | 49,326 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 85 TLE * 3 -- * 1 |
ソースコード
from collections import defaultdict N = int(input()) array = [True]*(3*N+1) array[0] = False array[1] = False prime_1 = [] prime_2 = [] i = 2 while i <= 3*N: if array[i]: for j in range(2*i, 3*N+1, i): array[j] = False if 3 < i <= N: if i % 3 == 1: prime_1.append(i) if i % 3 == 2: prime_2.append(i) i += 1 ans = 0 prime_1_1 = defaultdict(int) for i in range(len(prime_1)): for j in range(i+1,len(prime_1)): prime_1_1[prime_1[i]+prime_1[j]] += 1 prime_2_2 = defaultdict(int) for i in range(len(prime_2)): for j in range(i+1,len(prime_2)): prime_2_2[prime_2[i]+prime_2[j]] += 1 for s in prime_1_1: c = 0 if array[3+s]: c += 1 for j in prime_2: if array[j+s]: c += 1 ans += c*prime_1_1[s] for s,v in prime_2_2.items(): c = 0 if array[3+s]: c += 1 for j in prime_1: if array[j+s]: c += 1 ans += c*prime_2_2[s] print(ans)