만드는 중입니다

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

TiMe Table

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

요약
일직선상의 S개 정류장을 지나는 M대 버스의 출발 시각을 정해, 각자 정해진 시각에 정해진 정류장에 도착하는 N명 승객의 총 대기 시간을 최소로 만든다.
난이도

어려움10점 중 8점

유형
동적 계획법, 정렬, 누적 합, 그리디
정답자
아직 제출이 없습니다

문제

어떤 학생이 아침마다 타는 통학 버스에서 한 가지를 알아차렸다. 그 버스의 이용자가 늘 같은 사람들이라는 것이다. 궁금해서 버스에 타고 있는 이용자들에게 물어보니, 매일 정해진 시각에 버스 정류장에 오는 모양이었다. 그렇다면 승객에게 더 좋은 버스 시간표가 있지 않을까 하고 그 학생은 생각했다.

학생이 타는 통학로에는 버스 영업소에서 종점까지 SS개의 버스 정류장이 일직선으로 늘어서 있다. (영업소는 버스 정류장에 포함되지 않지만, 종점은 버스 정류장에 포함된다.) 각 버스 정류장에는 영업소에서 가까운 쪽부터 차례로 11부터 SS까지 번호가 붙어 있다. 영업소와 ii번째 버스 정류장의 거리는 xix_i이다. 버스는 먼저 영업소를 출발하고, 그로부터 xix_i의 시간이 지난 뒤 ii번째 버스 정류장에 도착한다. 버스 정류장에는 NN명의 이용자가 찾아온다. ii번째 이용자는 시각 tit_i에 버스 정류장 pip_i에 도착한다.

이 통학로에는 하루에 정확히 MM대의 버스가 영업소에서 종점까지 운행한다. 버스는 정류장에 서면 그 정류장에서 기다리던 이용자를 전부 태우고 다음 정류장으로 향한다. 정류장에서 이용자를 태우는 시간은 무시할 수 있다고 가정한다. 이제 각 버스가 영업소를 출발하는 시각을 자유롭게 정할 수 있을 때, 이용자의 대기 시간 합을 최소화하려고 한다.

입력

입력은 다음 형식으로 주어진다.

SS NN MM

x1x_1 ...... xSx_S

t1t_1 p1p_1

......

tNt_N pNp_N

출력

대기 시간 합의 최솟값을 한 줄에 출력한다.

제한

  • 1≤S,N,M≤20001 ≤ S, N, M ≤ 2000
  • 1≤x1<x2<…<xS≤1041 ≤ x_1 < x_2 < …< x_S ≤ 10^4
  • 0≤ti≤1040 ≤ t_i ≤ 10^4
  • 1≤pi≤S1 ≤ p_i ≤ S
  • 입력값은 모두 정수이다.

예제3

  1. 예제 1

    입력
    2 2 1
    1 5
    0 1
    0 2
    
    예상 출력
    4
    
  2. 예제 2

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

    입력
    4 8 1
    6 38 105 390
    14 1
    4 2
    39 3
    89 2
    32 4
    1 1
    25 1
    60 4
    
    예상 출력
    1123