#340
Unrated
짝 짓기
원문: English
시간 제한
2s
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%

문제

승우는 알고리즘 스터디원들이 서로를 도와가며 문제를 해결할 때 효율이 올라간다는 사실을 발견했다. 그래서 승우는 MM명의 스터디원(M1000000000M \le 1\,000\,000\,000, MM은 짝수)을 M/2M/2개의 쌍으로 나누려고 한다. 각 쌍은 별도의 스터디룸에서 동시에 문제를 풀기 시작한다.

각 스터디원이 문제를 해결하는 데 걸리는 시간은 서로 다를 수 있다. 만약 문제 해결 시간이 AA인 사람과 BB인 사람이 한 쌍이 된다면, 해당 쌍이 문제를 모두 해결하는 데는 총 A+BA+B의 시간이 걸린다.

승우는 모든 스터디원이 문제를 해결할 때까지 걸리는 전체 시간을 최소화하고 싶다. 즉, 각 쌍의 소요 시간 중 최댓값이 가장 작아지도록 짝을 짓고자 한다. 스터디원들을 최적으로 짝 지었을 때, 모든 쌍이 문제를 해결하기까지 걸리는 시간의 최솟값을 구하시오.

입력

첫째 줄에 스터디원의 종류를 나타내는 NN이 주어진다. (1N1000001 \le N \le 100\,000) 이어서 NN개의 줄에 두 정수 xxyy가 공백으로 구분되어 주어진다. 이는 문제 해결 시간이 yy인 스터디원이 xx명 있음을 의미한다. (1y10000000001 \le y \le 1\,000\,000\,000) 모든 xx의 합은 전체 스터디원 수 MM이다.

출력

스터디원들을 최적으로 짝 지었을 때, 모든 쌍이 문제를 해결하는 데 걸리는 시간의 최솟값을 출력한다.

예제 입력 1

3
1 8
2 5
1 2

예제 출력 1

10
코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출
제출 내역이 없습니다.
맞은 사람
아직 맞은 사람이 없습니다.
난이도 투표
Unrated0명 투표
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
제출 내역이 없습니다.