結果
問題 |
No.458 異なる素数の和
|
ユーザー |
![]() |
提出日時 | 2020-01-01 22:40:21 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 630 bytes |
コンパイル時間 | 205 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 24,656 KB |
最終ジャッジ日時 | 2024-11-22 17:17:30 |
合計ジャッジ時間 | 97,630 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | TLE * 3 |
other | TLE * 28 |
ソースコード
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()