만드는 중입니다

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

사수빈탕

면접 대비

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

요약
원점에서 오른쪽이나 위로만 이동하며 시간이 지날수록 줄어드는 사탕 바구니를 방문해 얻을 수 있는 사탕 개수의 최댓값을 구한다.
난이도

보통10점 중 7점

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

문제

수빈이는 좌표평면 위에 앉아 있다. "나는 좌표평면이 너무 좋아!!" 수빈이가 말했다. 좌표평면에는 사탕 바구니가 NN개 있고, 바구니마다 사탕이 MM개씩 들어 있다. 바구니는 각각 (x1,y1),(x2,y2),…,(xN,yN)(x_1, y_1), (x_2, y_2), \dots, (x_N, y_N)에 놓여 있고, 수빈이는 (0,0)(0, 0)에서 출발한다.

오늘은 날씨가 덥다. 시간이 11만큼 지날 때마다 사탕이 남아 있는 모든 바구니에서 사탕이 한 개씩 녹아 사라진다. 시간이 tt만큼 지난 시점에 바구니에 남아 있는 사탕은 max⁡(0,M−t)\max(0, M - t)개다.

수빈이는 배가 몹시 고프기 때문에 바구니에 도착하면 그 안의 사탕을 순식간에 모두 먹는다. 먹는 데는 시간이 들지 않는다. 수빈이가 11만큼 움직이면 시간도 11만큼 지난다. 수빈이는 위쪽(yy좌표가 늘어나는 방향)이나 오른쪽(xx좌표가 늘어나는 방향)으로만 움직일 수 있다.

수빈이가 먹을 수 있는 사탕의 최대 개수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 NN과 MM이 주어진다.

둘째 줄부터 NN개의 줄에 사탕 바구니의 위치 xix_i, yiy_i가 주어진다. (0≤N≤3000 \le N \le 300, 1≤M≤1061 \le M \le 10^6, 0≤xi,yi≤3000 \le x_i, y_i \le 300)

사탕 바구니의 위치는 서로 겹치지 않으며, (0,0)(0, 0)에는 사탕 바구니가 없다.

출력

수빈이가 먹을 수 있는 사탕의 최대 개수를 출력한다.

예제2

  1. 예제 1

    입력
    3 15
    1 1
    3 1
    1 6
    
    예상 출력
    24
    
  2. 예제 2

    입력
    2 3
    0 1
    2 2
    
    예상 출력
    2