서핑

대기 시간을 어기지 않고 겹치지 않는 파도를 골라 재미 점수 합을 최대로 구합니다.

보통5동적 계획법정렬이분 탐색면접 대비아직 제출이 없습니다시간 제한4초메모리 제한256 MB

문제

플로리다에서 서핑을 시작했고, 오늘 들어올 파도의 정보를 모두 확보했다. 파도마다 몇 분에 들어오는지, 그 파도를 타면 얻는 재미 점수가 얼마인지, 파도를 탄 뒤 얼마나 기다려야 다시 파도를 탈 수 있는지를 안다. 기다리는 시간은 파도를 타는 시간과 파도가 부서지는 지점까지 다시 노를 저어 나가는 시간을 합한 값이다.

mim_i분에 들어오는 파도를 탔다면, 그다음에 탈 파도는 mi+wim_i + w_i분이나 그 이후에 들어와야 한다. 그보다 일찍 들어오는 파도는 자리로 돌아오기 전에 지나가 버린다.

재미 점수가 가장 큰 파도를 타는 것이 항상 최선은 아니다. 파도 네 개가 다음과 같다고 하자.

시각(분)재미 점수대기 시간
2809
8502
10402
13205

8분, 10분, 13분의 파도를 타면 재미 점수는 110이다. 2분의 파도를 타면 11분까지 다시 탈 수 없으므로 남는 것은 13분의 파도뿐이고, 합계는 100이 된다. 이 경우 최댓값은 110이다.

오늘 들어올 파도 목록이 주어질 때, 얻을 수 있는 재미 점수의 최댓값을 구하라.

입력

첫째 줄에 오늘 들어올 파도의 개수 nn이 주어진다 (1n3000001 \le n \le 300\,000).

다음 nn개의 줄에는 각각 세 정수 mim_i, fif_i, wiw_i가 공백으로 구분되어 주어진다 (1mi,fi,wi1061 \le m_i, f_i, w_i \le 10^6). 차례대로 ii번째 파도가 들어오는 시각(분), 재미 점수, 대기 시간이다.

같은 시각에 들어오는 파도는 없다. 파도가 시각 순서대로 주어지지는 않는다.

출력

얻을 수 있는 재미 점수의 최댓값을 한 줄에 출력한다.