結果
問題 |
No.286 Modulo Discount Store
|
ユーザー |
![]() |
提出日時 | 2015-10-10 01:05:00 |
言語 | Python2 (2.7.18) |
結果 |
AC
|
実行時間 | 349 ms / 2,000 ms |
コード長 | 388 bytes |
コンパイル時間 | 61 ms |
コンパイル使用メモリ | 6,912 KB |
実行使用メモリ | 7,936 KB |
最終ジャッジ日時 | 2024-07-20 04:53:17 |
合計ジャッジ時間 | 3,306 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 40 |
ソースコード
N = int(raw_input()) M = [int(raw_input()) for _ in xrange(N)] s = [0 for _ in xrange(1<<N)] for i in xrange(1 << N): for j in xrange(N): if (i >> j) & 1: s[i]+= M[j] s[i]%=1000 INF = int(1e9+7) dp = [INF for i in xrange(1<<N)] dp[0]=0 for i in xrange(1 << N): for j in xrange(N): if not (i >> j) & 1: dp[i|1<<j] = min(dp[i|1<<j], dp[i]+max(0, M[j]-s[i])) print dp[(1<<N)-1]