8831 | 2024. 01. 31 18:34:07 | NagyLeo | Bányász RPG (40 pont) | python3 | Elfogadva 40/40 | 230ms | 51844 KiB |
def main():
N = int(input())
exp = list(map(int, input().split()))
mat = list(map(int, 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
return time
print(main())
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 40/40 | ||||||
1 | Elfogadva | 0/0 | 17ms | 11220 KiB | |||
2 | Elfogadva | 0/0 | 43ms | 18208 KiB | |||
3 | Elfogadva | 2/2 | 17ms | 11452 KiB | |||
4 | Elfogadva | 2/2 | 18ms | 11892 KiB | |||
5 | Elfogadva | 2/2 | 34ms | 17100 KiB | |||
6 | Elfogadva | 2/2 | 56ms | 23260 KiB | |||
7 | Elfogadva | 2/2 | 23ms | 14016 KiB | |||
8 | Elfogadva | 2/2 | 24ms | 14344 KiB | |||
9 | Elfogadva | 3/3 | 17ms | 12192 KiB | |||
10 | Elfogadva | 3/3 | 17ms | 12624 KiB | |||
11 | Elfogadva | 3/3 | 18ms | 13096 KiB | |||
12 | Elfogadva | 3/3 | 17ms | 13088 KiB | |||
13 | Elfogadva | 4/4 | 17ms | 13332 KiB | |||
14 | Elfogadva | 4/4 | 17ms | 13432 KiB | |||
15 | Elfogadva | 2/2 | 112ms | 34348 KiB | |||
16 | Elfogadva | 2/2 | 156ms | 43036 KiB | |||
17 | Elfogadva | 2/2 | 115ms | 36420 KiB | |||
18 | Elfogadva | 2/2 | 230ms | 51844 KiB |