아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

선거

시간 제한1.5초메모리 제한256 MB

요약
각 정당의 득표수와 최소 의석수가 주어질 때, 명시된 최대잉여 방식 배분으로 모든 정당이 최소 의석수 이상을 받는 가장 작은 총의석수 m을 구한다.
난이도

보통10점 중 7점

유형
수학, 이분 탐색, 그리디, 구현
정답자
아직 제출이 없습니다

문제

오늘 선거가 열렸다. 번호 11부터 nn까지의 정당 nn개가 이 선거에 참여했고, 각 정당이 얻은 득표수에 따라 mm개의 의석이 정당에 배분되었다. 의석 배분에는 다음 알고리즘이 사용되었다.

정당 1,2,…,n1, 2, \ldots, n이 각각 c1,c2,…,cnc_1, c_2, \ldots, c_n표를 얻었다고 하자. s=c1+c2+…+cns = c_1 + c_2 + \ldots + c_n이라 두자. 먼저 각 ii에 대해 정당 ii에 ⌊cis⋅m⌋\lfloor \frac{c_i}{s} \cdot m \rfloor개의 의석을 배분한다. 그런 다음 남은 의석을 cis⋅m\frac{c_i}{s} \cdot m의 소수 부분이 큰 정당부터 한 정당에 하나씩 배분한다. 동점인 경우 번호가 작은 정당이 우선한다.

다음 정보를 알고 있다.

  • 정당 1,2,…,n1, 2, \ldots, n은 각각 정확히 a1,a2,…,ana_1, a_2, \ldots, a_n표를 얻었다.
  • 정당 1,2,…,n1, 2, \ldots, n은 각각 적어도 b1,b2,…,bnb_1, b_2, \ldots, b_n개의 의석을 얻었다.

총 의석수 mm의 가능한 최솟값을 구하시오.

입력

첫째 줄에 정수 nn이 주어진다 (1≤n≤1001 \le n \le 100). 다음 nn개의 줄에 각각 정수 한 쌍 aia_i와 bib_i가 주어진다 (1≤ai≤10001 \le a_i \le 1000, 0≤bi≤1090 \le b_i \le 10^9). bi≥1b_i \ge 1인 ii가 적어도 하나 존재한다고 가정할 수 있다.

출력

총 의석수 mm의 가능한 최솟값을 출력한다.

예제3

  1. 예제 1

    입력
    3
    1 2
    4 5
    2 3
    
    예상 출력
    11
    
  2. 예제 2

    입력
    4
    1 0
    6 5
    4 4
    5 8
    
    예상 출력
    25
    
  3. 예제 3

    입력
    1
    42 42
    
    예상 출력
    42