202102026-01-04 23:38:27algoproBányász RPG (40 pont)pypy3Futási hiba 36/40148ms32000 KiB
# UUID: daabe528-252d-4f10-9fd0-9a202cd073c8
N = int(input())
exp = [int(x) for x in input().split()]
mat = [int(x) for x in input().split()]

time = 0
whole = []
experience = 0
cheapest = N - 1
expensive = 0

for i in range(0, N):
    whole.append([mat[i], exp[i]])

whole.sort(key=lambda x: -x[1])

while expensive <= cheapest:
    if whole[cheapest][1] <= experience:
        time += whole[cheapest][0]
        experience += whole[cheapest][0]
        cheapest -= 1
    else:
        minimum = min(whole[expensive][0], whole[cheapest][1] - experience)
        time += minimum * 2
        experience += minimum
        whole[expensive][0] -= minimum
        if whole[expensive][0] == 0:
            expensive += 1

print(time)
RészfeladatÖsszpontTesztVerdiktIdőMemória
base36/40
1Elfogadva0/043ms19556 KiB
2Elfogadva0/082ms24680 KiB
3Elfogadva2/239ms19468 KiB
4Elfogadva2/245ms21256 KiB
5Elfogadva2/259ms22784 KiB
6Elfogadva2/276ms27324 KiB
7Elfogadva2/254ms22360 KiB
8Elfogadva2/264ms22504 KiB
9Elfogadva3/345ms19496 KiB
10Elfogadva3/341ms19684 KiB
11Elfogadva3/343ms19504 KiB
12Elfogadva3/345ms21224 KiB
13Elfogadva4/445ms21160 KiB
14Elfogadva4/443ms21100 KiB
15Elfogadva2/2148ms31664 KiB
16Futási hiba0/278ms32000 KiB
17Elfogadva2/2140ms31756 KiB
18Futási hiba0/271ms32000 KiB