만드는 중입니다

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

욕심 많은 파이 먹는 소

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

요약
각 소가 차례에 자기 구간에 남은 파이를 최소 하나 먹을 수 있도록 소의 순서를 정하고, 선택한 소들 무게 합의 최댓값을 구합니다.
난이도

보통10점 중 7점

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

문제

농부 존에게는 번호가 1…M1 \ldots M으로 붙은 소가 MM마리 있다. 소들은 풀을 뜯는 일에서 가끔 벗어나 쉬는 것을 좋아한다. 간식으로 농부 존은 번호가 1…N1 \ldots N으로 붙은 파이를 NN개 구웠다(1≤N≤3001 \leq N \leq 300). 소 ii는 번호가 lil_i부터 rir_i까지인 파이(양 끝 포함)를 좋아한다. 두 소가 정확히 같은 범위를 좋아하는 경우는 없다. 소 ii의 무게는 wiw_i이며, 11 이상 10610^6 이하의 정수다.

농부 존은 소의 수열 c1,c2,…,cKc_1, c_2, \ldots, c_K를 고를 수 있다. 선택된 소들은 그 순서대로 번갈아 먹는다. 소 cic_i의 차례가 되면 그 소가 좋아하는 파이를 모두 먹는다. 즉 [lci,rci][l_{c_i}, r_{c_i}]에 남아 있는 파이를 전부 먹는다. 농부 존은 차례가 왔는데 좋아하는 파이가 이미 모두 없어진 상황을 피하고 싶다. 각 소가 파이를 적어도 한 개 먹는 수열 가운데 무게 합 wc1+wc2+…+wcKw_{c_1}+w_{c_2}+\ldots+w_{c_K}가 가장 큰 값을 구하라.

입력

첫 줄에 정수 NN과 MM이 주어진다(1≤M≤N(N+1)21\le M\le \frac{N(N+1)}{2}). 다음 MM개의 줄에는 소 하나마다 wiw_i, lil_i, rir_i가 주어진다.

출력

유효한 수열의 무게 합의 최댓값을 출력한다.

힌트

이 예제에서 1번 소가 먼저 먹으면 2번 소가 먹을 파이가 남지 않는다. 2번 소가 먼저 먹으면 1번 소는 두 번째 파이만 먹어도 만족한다.

예제1

  1. 예제 1

    입력
    2 2
    100 1 2
    100 1 1
    
    예상 출력
    200