8830 | 2024. 01. 31 18:30:08 | NagyLeo | Bányász RPG (40 pont) | python3 | Elfogadva 40/40 | 232ms | 51868 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]])
all1 = sum(mat)
whole.sort(key=lambda x: -x[1])
while all1 != experience:
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 | 11292 KiB | |||
2 | Elfogadva | 0/0 | 43ms | 18180 KiB | |||
3 | Elfogadva | 2/2 | 17ms | 11596 KiB | |||
4 | Elfogadva | 2/2 | 18ms | 11972 KiB | |||
5 | Elfogadva | 2/2 | 34ms | 16996 KiB | |||
6 | Elfogadva | 2/2 | 59ms | 23056 KiB | |||
7 | Elfogadva | 2/2 | 23ms | 13656 KiB | |||
8 | Elfogadva | 2/2 | 25ms | 14492 KiB | |||
9 | Elfogadva | 3/3 | 17ms | 12472 KiB | |||
10 | Elfogadva | 3/3 | 17ms | 12684 KiB | |||
11 | Elfogadva | 3/3 | 17ms | 12884 KiB | |||
12 | Elfogadva | 3/3 | 18ms | 13084 KiB | |||
13 | Elfogadva | 4/4 | 18ms | 13340 KiB | |||
14 | Elfogadva | 4/4 | 18ms | 13400 KiB | |||
15 | Elfogadva | 2/2 | 111ms | 34268 KiB | |||
16 | Elfogadva | 2/2 | 153ms | 42272 KiB | |||
17 | Elfogadva | 2/2 | 115ms | 35988 KiB | |||
18 | Elfogadva | 2/2 | 232ms | 51868 KiB |