結果
| 問題 |
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()