213732026-01-12 22:06:03algoproBányász RPG (40 pont)pypy3Runtime error 36/40150ms32000 KiB
# UUID: 3f80e7ce-5ce9-4c0f-af0b-bf06e01f606f
N = int(input())
exp = [int(x) for x in input().split()]
mat = [int(x) for x in input().split()]

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

for i in range(N):
    whole[i]=[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)
SubtaskSumTestVerdictTimeMemory
base36/40
1Accepted0/045ms19504 KiB
2Accepted0/078ms22844 KiB
3Accepted2/241ms19688 KiB
4Accepted2/252ms21508 KiB
5Accepted2/265ms22656 KiB
6Accepted2/278ms28164 KiB
7Accepted2/254ms22644 KiB
8Accepted2/254ms22644 KiB
9Accepted3/345ms19432 KiB
10Accepted3/339ms19512 KiB
11Accepted3/339ms19508 KiB
12Accepted3/352ms21132 KiB
13Accepted4/450ms21224 KiB
14Accepted4/443ms21228 KiB
15Accepted2/2134ms31388 KiB
16Runtime error0/278ms32000 KiB
17Accepted2/2150ms31012 KiB
18Runtime error0/268ms32000 KiB