Question and Answer from L4-M1
def max_money(n, amounts, deadlines):
jobs = list(zip(amounts, deadlines))
jobs.sort(key=lambda x: x[0], reverse=True)
max_deadline = max(deadlines)
schedule = [False] * (max_deadline + 1)
total_money = 0
for amount, deadline in jobs:
for time in range(min(deadline, max_deadline), 0, -1):
if not schedule[time]:
schedule[time] = True
total_money += amount
break
return total_money
n = int(input())
amounts = list(map(int, input().split()))
deadlines = list(map(int, input().split()))
print(max_money(n, amounts, deadlines))