226902026-01-15 16:12:41vyrallBányász RPG (40 pont)python3Accepted 40/40280ms22936 KiB
n = int(input())
lvls = list(map(int, input().split()))
needed = list(map(int, input().split()))
lvls, needed = zip(*sorted(zip(lvls, needed)))
lvls, needed = list(lvls), list(needed)
lvl = 0
time = 0

l = 0
r = n - 1

while l <= r:
    if lvls[l] <= lvl:
        time += needed[l]
        lvl += needed[l]
        l += 1
    else:
        if needed[r] >= lvls[l] - lvl:
             num = lvls[l] - lvl
        else:
            num = needed[r]
        lvl += num
        time += 2*num
        needed[r] -= num
        if needed[r] == 0:
            r -= 1

print(time)
SubtaskSumTestVerdictTimeMemory
base40/40
1Accepted0/016ms3124 KiB
2Accepted0/048ms6544 KiB
3Accepted2/216ms3120 KiB
4Accepted2/217ms3236 KiB
5Accepted2/245ms5940 KiB
6Accepted2/276ms9036 KiB
7Accepted2/221ms3760 KiB
8Accepted2/227ms4000 KiB
9Accepted3/316ms3116 KiB
10Accepted3/317ms3124 KiB
11Accepted3/316ms3084 KiB
12Accepted3/317ms3204 KiB
13Accepted4/417ms3208 KiB
14Accepted4/417ms3220 KiB
15Accepted2/2128ms13792 KiB
16Accepted2/2212ms18244 KiB
17Accepted2/2140ms14968 KiB
18Accepted2/2280ms22936 KiB