結果
問題 | No.2730 Two Types Luggage |
ユーザー |
👑 |
提出日時 | 2024-04-19 21:54:32 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 855 ms / 2,000 ms |
コード長 | 603 bytes |
コンパイル時間 | 345 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 242,980 KB |
最終ジャッジ日時 | 2024-10-11 14:55:27 |
合計ジャッジ時間 | 14,865 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 35 |
ソースコード
import itertools def main(): n, m, w = [int(x) for x in input().split()] a = [int(x) for x in input().split()] b = [int(x) for x in input().split()] c = [int(x) for x in input().split()] a.sort(reverse=True) ac = list(itertools.accumulate(a)) ac.insert(0, 0) bc = [[bc_i, (0, 0)] for bc_i in zip(b, c)] ans = 0 for ch in itertools.product(*bc): cap = 0 val = 0 for bi, ci in ch: cap += bi val += ci if cap > w: break if cap <= w: val += ac[min(n, w - cap)] ans = max(ans, val) print(ans) if __name__ == "__main__": main()