提出 #44068750


ソースコード 拡げる

import bisect

n,m=map(int,input().split())

a=[]
b=[]
c=[]
for _ in range(n):
  t,x=map(int,input().split())
  if t==0:
    a.append(x)
  if t==1:
    b.append(x)
  if t==2:
    c.append(x)

a.sort(reverse=True)
b.sort(reverse=True)
c.sort(reverse=True)
sum_a=[0]
for ai in a:
  sum_a.append(sum_a[-1] + ai)
sum_b=[0]
for bi in b:
  sum_b.append(sum_b[-1] + bi)
sum_c=[0]
for ci in c:
  sum_c.append(sum_c[-1] + ci)

ans=0

for bi in range(len(b)+1):
  score = sum_b[bi]
  idx = bisect.bisect_left(sum_c,bi)
  if sum_c[-1] < bi:
    break
  if idx + bi > m:
    break
  rem_idx = m - bi - idx
  score += sum_a[ min( rem_idx, len(a) ) ] 
  ans = max(score,ans)
print(ans)

提出情報

提出日時
問題 F - Cans and Openers
ユーザ gootara
言語 PyPy3 (7.3.0)
得点 500
コード長 712 Byte
結果 AC
実行時間 335 ms
メモリ 102912 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 500 / 500
結果
AC × 3
AC × 46
セット名 テストケース
Sample sample00.txt, sample01.txt, sample02.txt
All sample00.txt, sample01.txt, sample02.txt, testcase00.txt, testcase01.txt, testcase02.txt, testcase03.txt, testcase04.txt, testcase05.txt, testcase06.txt, testcase07.txt, testcase08.txt, testcase09.txt, testcase10.txt, testcase11.txt, testcase12.txt, testcase13.txt, testcase14.txt, testcase15.txt, testcase16.txt, testcase17.txt, testcase18.txt, testcase19.txt, testcase20.txt, testcase21.txt, testcase22.txt, testcase23.txt, testcase24.txt, testcase25.txt, testcase26.txt, testcase27.txt, testcase28.txt, testcase29.txt, testcase30.txt, testcase31.txt, testcase32.txt, testcase33.txt, testcase34.txt, testcase35.txt, testcase36.txt, testcase37.txt, testcase38.txt, testcase39.txt, testcase40.txt, testcase41.txt, testcase42.txt
ケース名 結果 実行時間 メモリ
sample00.txt AC 115 ms 61788 KiB
sample01.txt AC 49 ms 62128 KiB
sample02.txt AC 48 ms 61884 KiB
testcase00.txt AC 313 ms 102832 KiB
testcase01.txt AC 311 ms 102668 KiB
testcase02.txt AC 320 ms 102912 KiB
testcase03.txt AC 318 ms 94280 KiB
testcase04.txt AC 334 ms 99092 KiB
testcase05.txt AC 320 ms 99272 KiB
testcase06.txt AC 321 ms 99032 KiB
testcase07.txt AC 311 ms 100068 KiB
testcase08.txt AC 331 ms 100284 KiB
testcase09.txt AC 319 ms 98368 KiB
testcase10.txt AC 323 ms 99368 KiB
testcase11.txt AC 324 ms 100616 KiB
testcase12.txt AC 335 ms 100216 KiB
testcase13.txt AC 303 ms 98064 KiB
testcase14.txt AC 324 ms 99308 KiB
testcase15.txt AC 305 ms 97284 KiB
testcase16.txt AC 327 ms 99952 KiB
testcase17.txt AC 325 ms 100556 KiB
testcase18.txt AC 321 ms 99596 KiB
testcase19.txt AC 308 ms 97404 KiB
testcase20.txt AC 332 ms 99964 KiB
testcase21.txt AC 322 ms 99508 KiB
testcase22.txt AC 327 ms 99224 KiB
testcase23.txt AC 320 ms 100044 KiB
testcase24.txt AC 332 ms 99428 KiB
testcase25.txt AC 301 ms 97848 KiB
testcase26.txt AC 324 ms 99068 KiB
testcase27.txt AC 315 ms 93892 KiB
testcase28.txt AC 328 ms 96136 KiB
testcase29.txt AC 299 ms 95500 KiB
testcase30.txt AC 323 ms 95160 KiB
testcase31.txt AC 308 ms 96832 KiB
testcase32.txt AC 327 ms 96296 KiB
testcase33.txt AC 326 ms 94544 KiB
testcase34.txt AC 324 ms 95064 KiB
testcase35.txt AC 315 ms 97656 KiB
testcase36.txt AC 322 ms 96188 KiB
testcase37.txt AC 317 ms 95072 KiB
testcase38.txt AC 313 ms 94732 KiB
testcase39.txt AC 314 ms 97372 KiB
testcase40.txt AC 323 ms 96344 KiB
testcase41.txt AC 317 ms 98756 KiB
testcase42.txt AC 319 ms 94808 KiB