아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

착유 시간

면접 대비

시간 제한1초메모리 제한128 MB

요약
겹치지 않고 각각 최소 R시간의 휴식으로 분리된 착유 구간을 골라 N시간 동안 생산하는 우유의 총량을 최대로 만든다.
난이도

보통10점 중 6점

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

문제

베시(Bessie)는 매우 성실한 젖소로, 우유 생산량을 최대로 늘리고 싶어 한다. 베시는 앞으로의 NN (1≤N≤1061 \le N \le 10^6)시간을 0…N−10 \dots N-1로 번호를 매겨 계획하며, 이 시간 동안 가능한 한 많은 우유를 생산하려 한다.

농부 존(Farmer John)은 착유가 가능한 MM (1≤M≤10001 \le M \le 1000)개의 구간 목록을 가지고 있으며, 이 구간들은 서로 겹칠 수 있다. ii번째 구간은 시작 시각 sis_i (0≤si<N0 \le s_i < N), 종료 시각 eie_i (si<ei≤Ns_i < e_i \le N), 그리고 효율 wiw_i (1≤wi≤1061 \le w_i \le 10^6)로 이루어지며, wiw_i는 그 구간 동안 베시가 생산하는 우유의 갤런 수이다. 착유는 시작 시각의 시작에 시작되어 종료 시각의 시작에 끝난다. 베시는 한 구간에서 착유를 시작하면 반드시 그 구간 전체 동안 착유되어야 한다.

어떤 구간에서 착유된 뒤, 베시는 다시 착유를 시작하기 전에 RR (1≤R≤N1 \le R \le N)시간 동안 쉬어야 한다. 즉, 종료 시각이 ee인 구간에서 착유되었다면, 다음으로 착유되는 구간은 시각 e+Re + R 이후(그 시각 포함)에 시작해야 한다. 주어진 구간 목록을 바탕으로, 베시가 NN시간 동안 생산할 수 있는 우유의 최대 갤런 수를 구하여라.

입력

  • 첫째 줄: 공백으로 구분된 세 정수 NN, MM, RR.
  • 둘째 줄부터 M+1M+1째 줄까지: i+1i+1째 줄은 ii번째 착유 구간을 공백으로 구분된 세 정수 sis_i, eie_i, wiw_i로 나타낸다.

출력

  • 첫째 줄: 베시가 NN시간 동안 생산할 수 있는 우유의 최대 갤런 수.

예제2

  1. 예제 1

    입력
    12 4 2
    1 2 8
    10 12 19
    3 6 24
    7 10 31
    
    예상 출력
    43
    
  2. 예제 2

    입력
    20 2 2
    0 5 10
    7 12 20
    
    예상 출력
    30