짐 싸기

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

요약
N종류의 짐을 최대 K개 고르는데, i번째 종류의 j번째 짐이 B_i - A_i(j-1)만큼의 가치를 더할 때 가치 합의 최댓값을 구한다.
난이도

어려움10점 중 9점

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

문제

NN 종류의 짐과 최대 KK개의 짐을 담을 수 있는 배낭이 있다. 각 짐의 가치를 표현하는 정수 배열 AA와 BB가 주어진다.

종류가 ii인 짐을 X_iX\_i개 고른 상태에서, 종류가 ii인 짐 하나를 더 고르면 B_i−A_iX_iB\_i - A\_i X\_i만큼의 가치를 추가로 얻는다.

각 종류의 짐이 무한히 존재할 때, 얻을 수 있는 가치 합의 최댓값은 얼마인가?

입력

첫 번째 줄에 NN, KK가 차례대로 주어진다. (1≤N≤106;1 \le N \le 10^6; 1≤K≤1091 \le K \le 10^9)

두 번째 줄부터 NN개의 줄에 걸쳐 A_iA\_i, B_iB\_i가 순서대로 주어진다. (1≤A_i,B_i≤1091 \le A\_i, B\_i \le 10^9)

입력으로 주어지는 모든 수는 정수이다.

출력

첫 번째 줄에 답을 출력한다.

예제2

  1. 예제 1

    입력
    3 4
    100 10
    3 5
    2 5
    
    예상 출력
    23
    
  2. 예제 2

    입력
    3 5
    100 10
    3 5
    2 5
    
    예상 출력
    25