대기 시간을 어기지 않고 겹치지 않는 파도를 골라 재미 점수 합을 최대로 구합니다.
보통5동적 계획법정렬이분 탐색면접 대비아직 제출이 없습니다시간 제한4초메모리 제한256 MB플로리다에서 서핑을 시작했고, 오늘 들어올 파도의 정보를 모두 확보했다. 파도마다 몇 분에 들어오는지, 그 파도를 타면 얻는 재미 점수가 얼마인지, 파도를 탄 뒤 얼마나 기다려야 다시 파도를 탈 수 있는지를 안다. 기다리는 시간은 파도를 타는 시간과 파도가 부서지는 지점까지 다시 노를 저어 나가는 시간을 합한 값이다.
mi분에 들어오는 파도를 탔다면, 그다음에 탈 파도는 mi+wi분이나 그 이후에 들어와야 한다. 그보다 일찍 들어오는 파도는 자리로 돌아오기 전에 지나가 버린다.
재미 점수가 가장 큰 파도를 타는 것이 항상 최선은 아니다. 파도 네 개가 다음과 같다고 하자.
| 시각(분) | 재미 점수 | 대기 시간 |
|---|---|---|
| 2 | 80 | 9 |
| 8 | 50 | 2 |
| 10 | 40 | 2 |
| 13 | 20 | 5 |
8분, 10분, 13분의 파도를 타면 재미 점수는 110이다. 2분의 파도를 타면 11분까지 다시 탈 수 없으므로 남는 것은 13분의 파도뿐이고, 합계는 100이 된다. 이 경우 최댓값은 110이다.
오늘 들어올 파도 목록이 주어질 때, 얻을 수 있는 재미 점수의 최댓값을 구하라.
첫째 줄에 오늘 들어올 파도의 개수 n이 주어진다 (1≤n≤300000).
다음 n개의 줄에는 각각 세 정수 mi, fi, wi가 공백으로 구분되어 주어진다 (1≤mi,fi,wi≤106). 차례대로 i번째 파도가 들어오는 시각(분), 재미 점수, 대기 시간이다.
같은 시각에 들어오는 파도는 없다. 파도가 시각 순서대로 주어지지는 않는다.
얻을 수 있는 재미 점수의 최댓값을 한 줄에 출력한다.