結果

問題 No.385 カップ麺生活
ユーザー nebukuro09
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

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)
0