사료 구매 II

면접 대비

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

요약
직선 위 여러 상점에서 K파운드의 사료를 사고, 운반한 거리에 비례하는 운송비까지 더해 총비용을 최소로 만든다.
난이도

보통10점 중 5점

유형
그리디, 정렬, 수학, 구현
정답자
아직 제출이 없습니다

문제

농부 존(Farmer John, FJ)은 사료 KK파운드(1≤K≤1001 \le K \le 100)를 사기 위해 마을로 가야 한다. 트럭에 사료 KK파운드를 싣고 DD마일을 달리면 운송 비용으로 D×KD \times K센트가 든다.

마을의 사료 구역에는 사료를 파는 상점이 NN개(1≤N≤1001 \le N \le 100, 편의상 11번부터 NN번까지 번호를 매긴다) 있다. 모든 상점은 길이가 EE(1≤E≤3501 \le E \le 350)인 XX축 구간 위에 있다. 상점 ii는 수직선상의 위치 XiX_i(0<Xi<E0 < X_i < E)에 있으며, 파운드당 CiC_i센트(1≤Ci≤1,000,0001 \le C_i \le 1{,}000{,}000)의 가격으로 최대 FiF_i파운드(1≤Fi≤1001 \le F_i \le 100)까지 사료를 판다. 놀랍게도 같은 위치에 상점이 여러 개 있을 수도 있다.

FJ는 수직선의 위치 00에서 출발하여 양의 방향으로만 이동할 수 있으며, 최종적으로 사료를 적어도 KK파운드 실은 채 위치 EE에 도착해야 한다. 이동 도중 어떤 상점에서든 멈춰서 그 상점의 판매 한도까지 원하는 만큼 사료를 살 수 있다.

FJ가 사료 KK파운드를 사서 위치 EE까지 운반하는 데 드는 최소 비용은 얼마인가? 해가 반드시 존재함이 보장된다.

입력

  • 첫째 줄: 공백으로 구분된 세 정수 KK, EE, NN이 주어진다.
  • 둘째 줄부터 N+1N+1째 줄까지: i+1i+1째 줄에는 상점 ii를 나타내는 세 정수 XiX_i, FiF_i, CiC_i가 공백으로 구분되어 주어진다.

출력

  • 첫째 줄: FJ가 사료를 사서 운반하는 데 드는 최소 비용을 나타내는 정수 하나를 출력한다.

예제3

  1. 예제 1

    입력
    2 5 3
    3 1 2
    4 1 2
    1 1 1
    
    예상 출력
    7
    
  2. 예제 2

    입력
    5 10 2
    5 3 1
    1 10 1
    
    예상 출력
    38
    
  3. 예제 3

    입력
    1 10 2
    1 1 1
    9 1 5
    
    예상 출력
    6