結果

問題 No.2730 Two Types Luggage
ユーザー 👑 KA37RIKA37RI
提出日時 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
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 40 ms
52,224 KB
testcase_01 AC 39 ms
52,352 KB
testcase_02 AC 46 ms
59,264 KB
testcase_03 AC 39 ms
51,968 KB
testcase_04 AC 78 ms
75,648 KB
testcase_05 AC 55 ms
66,176 KB
testcase_06 AC 50 ms
58,752 KB
testcase_07 AC 40 ms
52,352 KB
testcase_08 AC 40 ms
52,224 KB
testcase_09 AC 50 ms
61,824 KB
testcase_10 AC 58 ms
66,688 KB
testcase_11 AC 392 ms
190,260 KB
testcase_12 AC 554 ms
236,092 KB
testcase_13 AC 326 ms
174,172 KB
testcase_14 AC 387 ms
191,540 KB
testcase_15 AC 196 ms
97,408 KB
testcase_16 AC 179 ms
118,508 KB
testcase_17 AC 473 ms
231,044 KB
testcase_18 AC 438 ms
230,740 KB
testcase_19 AC 77 ms
80,128 KB
testcase_20 AC 196 ms
131,944 KB
testcase_21 AC 376 ms
199,000 KB
testcase_22 AC 486 ms
242,980 KB
testcase_23 AC 115 ms
89,600 KB
testcase_24 AC 239 ms
154,624 KB
testcase_25 AC 393 ms
189,948 KB
testcase_26 AC 137 ms
95,872 KB
testcase_27 AC 377 ms
198,100 KB
testcase_28 AC 218 ms
139,908 KB
testcase_29 AC 447 ms
232,312 KB
testcase_30 AC 463 ms
89,612 KB
testcase_31 AC 315 ms
168,448 KB
testcase_32 AC 269 ms
147,024 KB
testcase_33 AC 836 ms
237,836 KB
testcase_34 AC 849 ms
238,320 KB
testcase_35 AC 855 ms
235,904 KB
testcase_36 AC 847 ms
235,776 KB
testcase_37 AC 847 ms
230,244 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

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