結果
問題 |
No.385 カップ麺生活
|
ユーザー |
|
提出日時 | 2018-03-06 11:23:41 |
言語 | Python2 (2.7.18) |
結果 |
AC
|
実行時間 | 118 ms / 2,000 ms |
コード長 | 458 bytes |
コンパイル時間 | 395 ms |
コンパイル使用メモリ | 6,912 KB |
実行使用メモリ | 7,040 KB |
最終ジャッジ日時 | 2024-10-04 22:57:33 |
合計ジャッジ時間 | 1,908 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 32 |
ソースコード
#yuki385 m=int(raw_input()) n=int(raw_input()) c=map(int,raw_input().split()) c.sort() dp=[-1 for i in xrange(m+1)] p=[True for i in xrange(m+1)] p[0],p[1]=False,False for i in xrange(2,m+1): if p[i]: j=i*2 while j<=m: if p[j]: p[j]=False j+=i dp[m]=0 for i in range(n): for j in range(m,-1,-1): k=j-c[i] if dp[j]!=-1 and k>=0: dp[k]=max(dp[k],dp[j]+1) res=0 for i in range(m+1): if p[i] and dp[i]>=0: res+=dp[i] res+=m/c[0] print res