각 사람은 Kevin의 현재 연결 수가 A_i 이상이면 무료로, 아니면 B_i 포인트를 내면 연결된다. 모든 사람과 연결하는 최소 포인트 합을 구한다.
보통7그리디정렬힙누적 합면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB
문제 설명
예제3
문제
케빈은 어느 커뮤니티에서 인맥을 쌓으려고 한다. 아직 아무와도 연결되어 있지 않지만, 연결할 가치가 있다고 본 사람 N명을 1번부터 N번까지 정해 두었다. 목표는 이 N명 모두와 연결되는 것이다.
이 커뮤니티에서 외부인과 친구를 맺어 주는 사람은 드물다. N명은 누구를 외부인으로 볼지 판단하는 기준이 서로 조금씩 다르다. i번 사람은 케빈이 커뮤니티 안에서 이미 Ai명 이상과 연결되어 있으면 친구가 되어 준다. 연결이 모자라더라도 케빈이 인터넷 포인트 Bi를 주면 친구가 되어 준다.
케빈은 인터넷 포인트를 아끼고 싶다. N명 모두와 연결하면서 주는 포인트의 합을 최소로 만들어라.
입력
첫째 줄에 정수 N이 주어진다 (1≤N≤200000).
다음 N개 줄 중 i번째 줄에 정수 Ai와 Bi가 주어진다 (1≤i≤N, 0≤Ai≤N, 0≤Bi≤10000).
출력
케빈이 주어야 하는 인터넷 포인트의 최솟값을 한 줄에 출력한다.
힌트
첫 번째 예제에서 케빈은 3번 사람과 바로 연결하고, 그 연결로 2번 사람과도 연결한다. 1번 사람과 4번 사람은 연결이 모자라 바로 연결할 수 없으므로, 1번 사람에게 포인트 3을 주어 연결을 3개로 늘린 다음 4번 사람과 연결한다.
두 번째 예제에서는 포인트를 하나도 주지 않고 모두와 연결할 수 있다.
세 번째 예제에서 케빈은 1번 사람과 먼저 연결하고, 3번 사람에게 포인트 8을 주어 연결한 뒤 2번 사람과 연결한다.