8832 | 2024. 01. 31 18:38:57 | NagyLeo | Bányász RPG (40 pont) | python3 | Elfogadva 40/40 | 194ms | 48808 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
whole[expensive] = (whole[expensive][0] - minimum, whole[expensive][1])
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 | 11400 KiB | |||
2 | Elfogadva | 0/0 | 41ms | 17828 KiB | |||
3 | Elfogadva | 2/2 | 17ms | 11528 KiB | |||
4 | Elfogadva | 2/2 | 18ms | 12244 KiB | |||
5 | Elfogadva | 2/2 | 32ms | 16920 KiB | |||
6 | Elfogadva | 2/2 | 54ms | 22628 KiB | |||
7 | Elfogadva | 2/2 | 21ms | 13600 KiB | |||
8 | Elfogadva | 2/2 | 24ms | 14372 KiB | |||
9 | Elfogadva | 3/3 | 17ms | 12604 KiB | |||
10 | Elfogadva | 3/3 | 17ms | 12772 KiB | |||
11 | Elfogadva | 3/3 | 17ms | 12744 KiB | |||
12 | Elfogadva | 3/3 | 17ms | 12840 KiB | |||
13 | Elfogadva | 4/4 | 17ms | 12692 KiB | |||
14 | Elfogadva | 4/4 | 17ms | 12940 KiB | |||
15 | Elfogadva | 2/2 | 98ms | 32348 KiB | |||
16 | Elfogadva | 2/2 | 130ms | 39896 KiB | |||
17 | Elfogadva | 2/2 | 107ms | 34156 KiB | |||
18 | Elfogadva | 2/2 | 194ms | 48808 KiB |