226932026-01-15 16:20:36vyrallBányász RPG (40 pont)python3Elfogadva 40/40263ms22852 KiB
n = int(input())
lvls = list(map(int, input().split()))
needed = list(map(int, input().split()))
if lvls != [lvls[0] for _ in range(n)]:
    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
else:
    time = 2 * lvls[0] + sum(needed) - lvls[0]

print(time)
RészfeladatÖsszpontTesztVerdiktIdőMemória
base40/40
1Elfogadva0/016ms3312 KiB
2Elfogadva0/050ms6612 KiB
3Elfogadva2/216ms3124 KiB
4Elfogadva2/217ms3124 KiB
5Elfogadva2/225ms5236 KiB
6Elfogadva2/232ms6992 KiB
7Elfogadva2/217ms3636 KiB
8Elfogadva2/218ms3884 KiB
9Elfogadva3/316ms3140 KiB
10Elfogadva3/316ms3124 KiB
11Elfogadva3/316ms3136 KiB
12Elfogadva3/316ms3124 KiB
13Elfogadva4/417ms3136 KiB
14Elfogadva4/416ms3212 KiB
15Elfogadva2/2144ms13996 KiB
16Elfogadva2/2182ms18108 KiB
17Elfogadva2/2148ms14856 KiB
18Elfogadva2/2263ms22852 KiB