metrouri

Time limit: 0.05s Memory limit: 64MB Input: metrouri.in Output: metrouri.out

În Ţara lui Stuf-Vodă există o linie de metrou cu NN staţii, numerotate cu 1,2,,N1, 2, \dots, N plasate pe o dreaptă la distanţe egale, de la stânga la dreapta. MetroStuf dispune de K metrouri care circulă pe această linie. Acestea pleacă din staţia 11 către staţia NN. Timpul de deplasare a unui metrou între două staţii consecutive este de un minut.

Stuf-Vodă vrea însă să îşi ţină oameni cât mai fericiţi, aşa că vrea să găsească un scenariu optim de plecare a metrourilor din staţia 11 către staţia NN, astfel încât oameni să aştepte cât mai puţin. Se dau MM perechi de forma (Si,Ti)(S_i, T_i) cu semnificaţia: în staţia SiS_i la minutul TiT_i ajunge o persoană. Se defineşte costul unui metrou, ca fiind timpul cel mai mare de aşteptare al unei persoane, care s-a urcat în metroul respectiv. Stuf-Vodă şi-a dat seama că oamenii din ţara lui sunt cu atât mai fericiţi cu cât suma costurilor metrourilor este mai mică. O persoană urcă întotdeauna în primul metrou care soseşte în staţie.

Cerință

Dându-se NN, MM, KK şi MM perechi de forma (Si,Ti)(S_i, T_i) cu semnificaţia de mai sus, se cere să se calculeze momentele de timp la care trebuie să plece metrourile din staţia 1 către staţia NN, astfel încât suma costurilor metrourilor să fie minimă.

Date de intrare

Pe prima linie a fişierului metrouri.in se vor găsi trei numere: NN, MM şi KK separate prin câte un spaţiu, cu semnificaţia din enunţ. Pe următoarele MM linii se vor găsi câte două numere, SiS_i şi TiT_i, cu semnificaţia că la momentul de timp TiT_i în staţia Si ajunge o persoană.

Date de ieșire

Fisierului de ieşire metrouri.out va conţine un singur număr şi anume suma costurilor celor KK metrouri.

Restricții și precizări

  • 1N,M,K100 0001 \leq N, M, K \leq 100 \ 000
  • Metrourile nu merg decât într-un singur sens şi odată ajunse în staţia NN rămân acolo până la sfârşitul zilei
  • Pentru 30%30\% din teste N200,M1000,K100N \leq 200, M \leq 1000, K \leq 100
  • Pentru 60%60\% din teste N10 000,M20 000,K300N \leq 10 \ 000, M \leq 20 \ 000, K \leq 300
  • 1SiN1 \leq S_i \leq N
  • 0Ti1 000 0000 \leq T_i \leq 1 \ 000 \ 000
  • MetroStuf se deschide la minutul 00 (persoanele nu pot ajunge mai devreme de aceasta ora în staţii), însă metrourile pot pleca din staţia 11 înainte de acest moment.
  • În oricare metrou pot să urce oricâte persoane.

Exemplu

metrouri.in

5 5 3
1 5
2 7
1 8
5 6
4 4

metrouri.out

3

Explicație

Metroul 11 pleacă din staţia 11 la minutul 22, metroul 22 pleacă la minutul 66, iar metroul 33 la minutul 88. Costul metroului 11 este 11, costului metroului 22 este 11, iar costul metroului 33 este 00. Suma costurilor metrourilor este 22.

Log in or sign up to be able to send submissions!