만드는 중입니다

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

인터레일 패스

면접 대비

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

요약
여행 날짜마다 개별 요금이 있고, p일 기간 안의 처음 d일을 덮는 패스 종류가 주어질 때 모든 여행일을 덮는 최소 비용을 구합니다.
난이도

보통10점 중 5점

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

문제

인터레일 패스는 유럽을 더 많이, 그리고 싸게 둘러보는 방법이다. 특히 기차 여행을 Businesslike And Penny-saving Computation과 함께 하면 더 좋다. 계획한 여행의 비용을 가장 싸게 치르는 방법을 찾고 싶다. 연속일 수도 있고 아닐 수도 있는 nn일 동안 기차를 탈 계획이다. 날마다 개별 운임이 다르다. 패스를 몇 장 사면 돈을 아낄 수 있다.

비용이 서로 다른 인터레일 패스가 kk종류 있다. 각 종류는 여러 번 살 수 있다. 패스는 여러분이 고른 날부터 시작하는 pp일 연속 기간 동안 유효하다. 패스는 그 기간 안의 처음 dd번의 여행일을 덮는다. 이 여행일들은 연속일 필요가 없다. 유효한 패스는 멈출 수 없다. 여행일은 그날 개별 운임을 내더라도 유효한 모든 패스의 날짜 수에 포함된다.

그림 I.1은 웹 상점이 파는 두 종류의 패스를 보여 준다. 첫 번째 패스는 55일 동안 활성화할 수 있고 그 안의 33일을 덮는다. 두 번째 패스는 기간이 3030일이고 그 안의 55일을 덮는다. 여행일 44일 모두에 개별 운임을 내는 것보다 패스를 사는 편이 확실히 싸다. 가장 싼 선택은 첫 번째 종류 패스를 두 장 사는 것이다. 두 번째 종류 패스 한 장보다 저렴하다.

입력

첫 줄에 두 정수 nn과 kk가 주어진다 (1≤n≤10 0001\leq n\leq 10\,000, 0≤k≤1000\leq k\leq 100). 계획한 여행일의 수와 패스 종류의 수이다.

다음 nn개의 줄에는 각각 두 정수 tt와 ff가 주어진다 (0≤t≤1060\leq t \leq 10^6, 1≤f≤1051\leq f\leq 10^5). tt는 여행일이고 ff는 그날의 개별 운임이다. nn개의 여행일은 서로 다르며 증가하는 순서로 주어진다.

다음 kk개의 줄에는 각각 세 정수 pp, dd, cc가 주어진다 (1≤p≤1061\leq p\leq 10^6, 1≤d≤p1\leq d\leq p, 1≤c≤1051\leq c\leq 10^5). 유효 기간이 pp일이고, 그 기간 안의 처음 dd번의 여행일을 덮으며, 가격이 cc인 패스 종류를 뜻한다.

출력

계획한 모든 여행을 덮는 데 드는 최소 금액을 출력한다.

예제5

  1. 예제 1

    입력
    2 1
    0 10
    1 10
    2 2 15
    
    예상 출력
    15
    
  2. 예제 2

    입력
    2 1
    0 10
    2 10
    2 2 15
    
    예상 출력
    20
    
  3. 예제 3

    입력
    3 1
    0 10
    1 10
    2 10
    5 2 15
    
    예상 출력
    25
    
  4. 예제 4

    입력
    4 2
    3 80
    5 90
    24 70
    26 60
    5 3 100
    30 5 212
    
    예상 출력
    200
    
  5. 예제 5

    입력
    4 1
    42 9
    43 2
    44 9
    45 9
    4 3 20
    
    예상 출력
    29