結果
問題 |
No.458 異なる素数の和
|
ユーザー |
![]() |
提出日時 | 2020-01-01 23:09:58 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 541 ms / 2,000 ms |
コード長 | 589 bytes |
コンパイル時間 | 1,298 ms |
コンパイル使用メモリ | 82,384 KB |
実行使用メモリ | 64,720 KB |
最終ジャッジ日時 | 2024-11-22 17:22:06 |
合計ジャッジ時間 | 18,762 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 28 |
ソースコード
import sys 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 for p in pp: for x in range(20000,-1,-1): if cntpri[x]==-1:continue if x+p>20000:continue cntpri[x+p]=max(cntpri[x+p],cntpri[x]+1) print(cntpri[II()]) main()