結果
問題 |
No.458 異なる素数の和
|
ユーザー |
![]() |
提出日時 | 2020-01-01 23:04:22 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 630 bytes |
コンパイル時間 | 312 ms |
コンパイル使用メモリ | 82,112 KB |
実行使用メモリ | 64,012 KB |
最終ジャッジ日時 | 2024-11-22 17:18:52 |
合計ジャッジ時間 | 8,008 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 27 WA * 1 |
ソースコード
import sys sys.setrecursionlimit(10 ** 6) def II(): return int(sys.stdin.readline()) def main(): prime=[0,1]*10005 prime[1]=0 prime[2]=1 for x in range(3,20001): if x**2>20000:break if prime[x]: for y in range(x**2,20001,x): prime[y]=0 pp=[] for p in range(2,20001): if prime[p]:pp.append(p) cntpri=[-1]*20001 cntpri[0]=0 s=0 for p in pp: for x in range(s+1): if cntpri[x]==-1:continue if x+p>20000:break cntpri[x+p]=max(cntpri[x+p],cntpri[x]+1) s+=p print(cntpri[II()]) main()