K Best

시간 제한2초메모리 제한64 MB

요약
n개의 보석 중 정확히 k개를 골라 가치 합을 무게 합으로 나눈 값을 최대화하고, 그 값을 기약분수로 출력하는 문제입니다.
난이도

보통10점 중 7점

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

문제

데미(Demy)는 nn개의 보석을 가지고 있다. ii번째 보석의 가치는 viv_i, 무게는 wiw_i이다.

데미는 이 중 정확히 kk개를 골라 그 비가치(specific value) 를 최대로 만들고자 한다. 고른 집합 S={i1,i2,…,ik}S = \{i_1, i_2, \ldots, i_k\}의 비가치는 다음과 같이 정의된다.

s(S)=∑j=1kvij∑j=1kwij.s(S) = \frac{\sum_{j=1}^{k} v_{i_j}}{\sum_{j=1}^{k} w_{i_j}}.

크기가 kk인 모든 부분집합에 대하여 비가치의 최댓값을 구하여라.

입력

첫째 줄에 보석의 개수 nn과 골라야 하는 개수 kk가 주어진다 (1≤k≤n≤100 0001 \le k \le n \le 100\,000).

다음 nn개의 줄에는 각각 두 정수 viv_i와 wiw_i가 주어진다 (0≤vi≤1060 \le v_i \le 10^6, 1≤wi≤1061 \le w_i \le 10^6). ∑vi\sum v_i와 ∑wi\sum w_i는 모두 10710^7 이하이다.

출력

비가치의 최댓값은 유리수이다. 이를 기약분수 p/q 형태로 출력한다. 여기서 p≥0p \ge 0, q≥1q \ge 1은 정수이며 gcd⁡(p,q)=1\gcd(p, q) = 1이다. 분모는 항상 출력한다(예: 3/1). 값이 00이면 0/1을 출력한다.

예제4

  1. 예제 1

    입력
    3 2
    1 1
    1 2
    1 3
    
    예상 출력
    2/3
    
  2. 예제 2

    입력
    1 1
    5 2
    
    예상 출력
    5/2
    
  3. 예제 3

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

    입력
    4 4
    1 1
    2 2
    3 3
    4 4
    
    예상 출력
    1/1