Live Programming

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

요약
총 길이가 T를 넘지 않도록 곡들을 골라 순서를 정해, 기본 만족도의 합에서 연속한 두 곡의 특징값 차이의 제곱을 뺀 값을 최대로 만든다.
난이도

어려움10점 중 8점

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

문제

일본의 유명 아이돌 그룹 JAG48이 다음 라이브 공연의 프로그램을 짜려고 한다. 이들은 NN개의 서로 다른 곡 song_1\mathit{song}\_1, song_2\mathit{song}\_2, ..., song_N\mathit{song}\_N을 갖고 있다. 각 곡은 세 정수 t_it\_i, p_ip\_i, f_if\_i로 표현된다. t_it\_i는 song_i\mathit{song}\_i의 길이, p_ip\_i는 song_i\mathit{song}\_i를 공연했을 때 관객이 얻는 기본 만족 포인트, f_if\_i는 관객의 만족도에 영향을 주는 song_i\mathit{song}\_i의 특징값이다. 라이브 공연에서 JAG48은 NN개의 곡 중에서 (최소 한 곡 이상) 몇 곡이든 공연할 수 있다. 단, 고른 곡들의 총 길이가 공연 길이 TT를 넘으면 안 된다. 곡의 순서는 마음대로 정할 수 있지만 같은 곡을 두 번 이상 공연할 수는 없다.

이 공연의 목표는 관객이 얻는 총 만족 포인트를 최대로 만드는 것이다. 각 곡의 기본 만족 포인트 외에도, 연속해서 공연된 두 곡의 특징값 차이가 총 만족 포인트에 영향을 준다. 차이가 없으면 관객은 편안함을 느낀다. 하지만 차이가 클수록 관객은 더 답답함을 느낀다.

따라서 총 만족 포인트는 다음과 같이 계산된다.

  • song_x\mathit{song}\_x가 라이브 공연의 첫 곡이면, song_x\mathit{song}\_x를 공연한 직후의 총 만족 포인트는 p_xp\_x이다.
  • song_x\mathit{song}\_x가 두 번째 이후의 곡이고 song_y\mathit{song}\_y 바로 다음에 공연되면, f_xf\_x와 f_yf\_y가 다를수록 관객이 답답함을 느끼므로 p_x−(f_x−f_y)2p\_x - (f\_x - f\_y)^2가 총 만족 포인트에 더해진다.

JAG48이 총 만족 포인트를 최대로 만드는 프로그램을 찾도록 도와주자.

입력

입력은 다음과 같은 형식으로 주어진다.

$N$ $T$

$t_1$ $p_1$ $f_1$

$\ldots$

$t_N$ $p_N$ $f_N$

첫 번째 줄에는 두 정수 NN과 TT가 주어진다. NN은 사용할 수 있는 곡의 수 (1≤N≤4,0001 \le N \le 4{,}000), TT는 라이브 공연의 길이 (1≤T≤4,0001 \le T \le 4{,}000)이다.

다음 NN개의 줄에는 곡의 파라미터가 주어진다. 그중 ii번째 줄에는 song_i\mathit{song}\_i의 파라미터인 세 정수가 주어진다. 길이 t_it\_i (1≤t_i≤4,0001 \le t\_i \le 4{,}000), 기본 만족 포인트 p_ip\_i (1≤p_i≤1081 \le p\_i \le 10^8), 특징값 f_if\_i (1≤f_i≤1041 \le f\_i \le 10^4)이다.

길이가 TT 이하인 곡이 적어도 하나 존재한다고 가정할 수 있다.

출력

라이브 공연에서 관객이 얻을 수 있는 총 만족 포인트의 최댓값을 출력한다.

예제5

  1. 예제 1

    입력
    2 10
    10 200 1
    10 100 100
    
    예상 출력
    200
    
  2. 예제 2

    입력
    3 15
    5 100 1
    5 100 2
    5 100 4
    
    예상 출력
    295
    
  3. 예제 3

    입력
    3 10
    5 200 200
    5 200 201
    5 300 1
    
    예상 출력
    399
    
  4. 예제 4

    입력
    3 20
    5 100 200
    5 100 201
    5 300 1
    
    예상 출력
    300
    
  5. 예제 5

    입력
    5 61
    14 49 7
    31 46 4
    30 55 5
    52 99 1
    34 70 3
    
    예상 출력
    103