- 점수를 기준으로 내림차순하면서 마감일이 같은 여러 과제에 대해서 가장 높은 점수를 받을 수 있는 과제를 선택해 과제를 수행하면 된다. 뒤에서부터 확인하는 방법을 이용했다.
import sys
input = sys.stdin.readline
visited = [0] * 1001
N = int(input())
homework = []
for _ in range(N):
d, w = map(int, input().strip().split())
homework.append([d, w])
# 점수 기준 내림차순 정렬
homework.sort(key = lambda x : -x[1])
for i in range(N):
for j in range(homework[i][0]-1, -1, -1):
if visited[j] == 0:
visited[j] = homework[i][1]
break
print(sum(visited))