結果
| 問題 |
No.385 カップ麺生活
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-10-07 09:49:21 |
| 言語 | Python2 (2.7.18) |
| 結果 |
AC
|
| 実行時間 | 92 ms / 2,000 ms |
| コード長 | 607 bytes |
| コンパイル時間 | 77 ms |
| コンパイル使用メモリ | 6,912 KB |
| 実行使用メモリ | 6,912 KB |
| 最終ジャッジ日時 | 2024-10-04 22:51:28 |
| 合計ジャッジ時間 | 1,847 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 32 |
ソースコード
def prime_table(n):
L = [True for _ in xrange(n + 1)]
i = 2
while i * i <= n:
if L[i]:
j = i + i
while j <= n:
L[j] = False
j += i
i += 1
table = [i for i in xrange(n + 1) if L[i] and i >= 2]
return table
M = input()
N = input()
C = map(int, raw_input().split())
dist = [float('-inf') for _ in xrange(M+1)]
dist[M] = 0
for i in xrange(M, 0, -1):
for c in C:
if i-c >= 0:
dist[i-c] = max(dist[i]+1, dist[i-c])
print sum(dist[p] for p in prime_table(M) if dist[p] != float('-inf'))+max(dist)