일직선상의 집마다 사탕 값과 마감 시간이 있는 포켓몬이 있고, K번 집에서 출발해 1초에 한 집씩 이동하며 얻을 수 있는 사탕의 최댓값을 구한다.
보통7동적 계획법구간아직 제출이 없습니다시간 제한1초메모리 제한512 MB브라니미르코는 포켓몬 GO를 즐겨 한다. 얼마 전 그는 포켓몬 잡기 대회를 열기로 했다. 대회는 자그레브의 일리차 거리에서 열리고, 친구 슬라브코가 후원을 맡는다. 상품은 물론 사탕이다.
일리차는 자그레브에서 가장 긴 거리다. 거리 한쪽에 집 N채가 늘어서 있고, 각 집에는 1번부터 N번까지 번호가 붙어 있다. 대회는 K번 집에서 시작한다.
대회 전에 브라니미르코는 지도에서 포켓몬 M마리를 찾아냈다. i번째 포켓몬은 Ai번 집에 있고, 사탕 Bi개의 가치가 있으며, 시작한 지 Ti초가 지나기 전까지만 잡을 수 있다. Ti초가 되는 순간 그 포켓몬은 지도에서 사라지고 더는 잡을 수 없다. 두 포켓몬이 같은 집에 있는 경우는 없다.
브라니미르코는 1초에 옆 집으로 한 칸 이동한다. 대회가 시작하는 순간, 즉 0초에 그는 K번 집에 서 있다. 어떤 집에 도착한 시각이 그 집에 있는 포켓몬의 Ti보다 작으면 그 포켓몬을 잡고, 잡힌 포켓몬은 지도에서 사라진다. 잡는 데 걸리는 시간은 없다. 이미 지나온 집을 다시 지나가도 된다.
브라니미르코가 얻을 수 있는 사탕의 최대 개수를 구하라.
첫째 줄에 집의 수 N, 출발하는 집의 번호 K, 포켓몬의 수 M이 주어진다. (1≤K≤N≤1000, 1≤M≤100)
다음 M개 줄에 포켓몬 한 마리의 Ai, Bi, Ti가 주어진다. (1≤Ai≤N, 1≤Bi≤100, 1≤Ti≤2000)
포켓몬은 집 번호 Ai가 증가하는 순서로 주어진다.
브라니미르코가 얻을 수 있는 사탕의 최대 개수를 한 줄에 출력한다.
첫 번째 예제에서 브라니미르코는 3번 집의 포켓몬(사탕 5개)을 잡고, 이어서 7번 집(사탕 10개)과 9번 집(사탕 100개)의 포켓몬을 잡아 사탕 115개를 얻는다. 1번 집의 포켓몬은 잡을 수 없다. 출발한 5번 집에서 1번 집까지 4초가 걸리는데, 그 포켓몬은 4초가 되는 순간 사라지기 때문이다.