만드는 중입니다

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

팝콘

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

요약
N가지 팝콘 종류마다 먹을 수 있는 시간 구간 [A, B)와 수량 C가 주어질 때, M개의 가열 시간을 골라 먹을 수 있는 팝콘의 최대 양을 구합니다.
난이도

어려움10점 중 8점

유형
구간, 그리디, 세그먼트 트리
정답자
아직 제출이 없습니다

문제

팝콘이 맛있는 간식이라는 건 누구나 안다. 올해 선발 캠프(와 뒤풀이)를 준비하는 동안 NN가지 전자레인지용 팝콘을 주문했다. 종류마다 다음 세 값을 알고 있다.

  • AiA_i: 종류 ii 팝콘이 터지는 시간(초)
  • BiB_i: 종류 ii 팝콘이 타는 시간(초)
  • CiC_i: 종류 ii 팝콘의 양

또한 용량이 매우 큰(사실상 무한한) 일회용 팝콘 봉투 MM개와 전자레인지가 있다. 탄 팝콘과 터지지 않은 팝콘을 좋아하는 사람은 없으니, 팝콘을 MM개 봉투에 나눠 담고 각 봉투의 가열 시간 prepjprep_j를 정해 전자레인지에 넣는다. 결국 먹을 수 있는 팝콘이 최대한 많아야 한다.

형식적으로는, 봉투 jj에 담긴 종류 ii 팝콘이 prepjprep_j초 동안 가열되었을 때 Ai≤prepj<BiA_i \le prep_j < B_i인 경우에만 먹을 수 있다.

NN가지 팝콘과 봉투 수가 주어지면, 먹을 수 있는 팝콘이 가장 많아지도록 나누는 방법과 각 봉투의 가열 시간을 정하라. 먹을 수 있는 팝콘의 양을 출력하라. 아주 간단하다.

입력

첫 줄에 정수 NN과 MM이 주어진다.

이어서 NN개의 줄에 각각 팝콘 종류에 해당하는 정수 AiA_i, BiB_i, CiC_i가 주어진다.

출력

먹을 수 있는 팝콘의 최대 양을 나타내는 정수 하나를 출력한다.

제한

  • 1≤M≤N≤200 0001 \le M \le N \le 200\,000
  • 1≤Ai≤Bi≤200 0001 \le A_i \le B_i \le 200\,000
  • 팝콘의 총량은 10910^9을 넘지 않는다.
  • 빈 봉투가 있어도 된다.
  • X=max⁡{N,B1,B2,…,BN}X=\max\{N,B_1,B_2,\dots,B_N\}이라 하자.

예제2

  1. 예제 1

    입력
    5 2
    2 4 3
    1 5 6
    4 8 10
    7 8 2
    10 11 2
    
    예상 출력
    21
    
  2. 예제 2

    입력
    3 3
    1 2 2
    2 3 3
    1 3 5
    
    예상 출력
    10