만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

레모네이드 바

시간 제한4초메모리 제한512 MB

요약
최대 K개의 레모네이드를 골라 마실 시각을 정하고, 마신 순서에 따라 줄어드는 가중치를 곱한 기분 좋음의 합을 최대로 만듭니다.
난이도

보통10점 중 7점

유형
동적 계획법, 정렬, 그리디
정답자
아직 제출이 없습니다

문제

앞에 있는 수많은 문제를 풀어낸 근수는 너무 피곤해서 레모네이드 바에 들어가서 휴식을 취하려 한다.

레모네이드 바에는 NN개의 레모네이드가 있다. 레모네이드 ii는 시각 tit_i에 청량감 xix_i를 가지고 나온다. 시간이 지나면 탄산이 빠져서, 시간이 1만큼 지날 때마다 청량감은 1씩 떨어진다. 시각 TT (T≥tiT \ge t_i)에 레모네이드 ii의 청량감은 xi−(T−ti)x_i - (T - t_i)이다.

근수의 갈증 수치는 KK이므로, 최대 KK개의 레모네이드를 마실 수 있다. 목이 마를 때 마신 레모네이드일수록 더 큰 행복을 준다. 근수가 처음 마시는 레모네이드는 청량감의 KK배만큼 행복을 준다. 두 번째로 마시는 레모네이드는 청량감의 K−1K-1배를 주고, 근수가 ii번째로 마시는 레모네이드는 청량감의 K+1−iK+1-i배를 준다. 즉 레모네이드 ii를 jj번째로 마시고, 시각 TT (T≥tiT \ge t_i)에 마셨다면 행복은 (xi−(T−ti))×(K+1−j)(x_i - (T - t_i)) \times (K+1-j)만큼 증가한다.

레모네이드를 마시는 데 걸리는 시간은 무시할 만큼 짧다. 같은 시각에 레모네이드 여러 잔을 임의의 순서로 마실 수 있다.

근수의 현재 행복은 0이다. 레모네이드를 적절히 마셔서 근수의 행복을 최대로 만들어 주자.

입력

첫 번째 줄에 레모네이드의 개수 NN과 현재 갈증 수치 KK가 공백으로 구분되어 주어진다. (1≤N≤2 0001 \le N \le 2\,000; 1≤K≤121 \le K \le 12)

두 번째 줄부터 N+1N+1번째 줄까지 각 레모네이드가 나오는 시각 tit_i와 초기 청량감 xix_i가 공백으로 구분되어 주어진다. (1≤ti,xi≤10121 \le t_i, x_i \le 10^{12})

출력

근수가 얻을 수 있는 행복의 최댓값을 출력한다.

예제3

  1. 예제 1

    입력
    4 3
    2 7
    3 4
    7 1
    8 5
    
    예상 출력
    34
    
  2. 예제 2

    입력
    4 5
    1 100
    2 1
    10 10000
    100 1000
    
    예상 출력
    54003
    
  3. 예제 3

    입력
    5 4
    3 100
    1 20
    1 20
    1 20
    1 20
    
    예상 출력
    508