結果
問題 | No.286 Modulo Discount Store |
ユーザー |
![]() |
提出日時 | 2024-10-21 22:07:55 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 145 ms / 2,000 ms |
コード長 | 466 bytes |
コンパイル時間 | 550 ms |
コンパイル使用メモリ | 82,392 KB |
実行使用メモリ | 76,632 KB |
最終ジャッジ日時 | 2024-10-21 22:07:59 |
合計ジャッジ時間 | 4,525 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 40 |
ソースコード
N = int(input())M = [int(input()) for _ in range(N)]INF = 2 * 10 ** 5N2 = 1 << Ndp = [INF] * N2X = [0] * N2dp[0] = 0for i in range(N2):tmp = 0for j in range(N):if i & (1 << j):X[i] += M[j]X[i] %= 1000for i in range(N):for j in range(N):for k in reversed(range(N2)):if not (k & (1 << j)):dp[k | (1 << j)] = min(dp[k | (1 << j)], dp[k] + max(0, M[j] - X[k]))print(dp[(N2 - 1)])