plaja

Time limit: 1.15s Memory limit: 128MB Input: plaja.in Output: plaja.out

Zizi îşi va petrece concediul în această vară într-o frumoasă staţiune de la Marea Neagră. Acolo va sta NN zile. Zilele sunt numerotate de la 11 la NN. În fiecare dintre cele NN zile de concediu, ea intenţionează să facă plajă un număr cât mai mare de unităţi de timp. Va trebui să ţină seama totuşi de prognoza meteo, care este nefavorabilă în KK dintre cele NN zile, respectiv în zilele z1z_1, z2z_2, \dots, zkz_k. În fiecare dintre aceste KK zile va ploua sau va fi prea mult soare, iar Zizi va trebui să-şi limiteze timpii de plajă la cel mult t1t_1, t2t_2, \dots, tkt_k unităţi de timp. De asemenea, din motive de confort fizic, Zizi doreşte ca diferenţa în valoare absolută a timpilor de plajă între oricare două zile consecutive să nu depăşească TT.

Cerință

Cunoscând zilele z1z_1, z2z_2, \dots, zkz_k în care există limitările t1t_1, t2t_2, \dots, tkt_k pentru timpul de plajă şi valoarea TT, să se determine numărul maxim de unităţi de timp pe care Zizi le poate petrece la plajă într-o singură zi dintre cele NN zile de concediu.

Date de intrare

Fișierul plaja.in conține pe prima linie trei numere naturale NN, KK şi TT separate printr-un spaţiu, reprezentând numărul de zile de concediu, numărul de zile în care există limitări pentru timpul de plajă şi diferenţa maximă admisă a timpilor de plajă pentru oricare două zile consecutive. Pe fiecare dintre următoarele KK linii se află câte două numere zz şi tt, despărțite printr-un spațiu, reprezentând numărul de ordine al unei zile cu limitări pentru timpul de plajă, respectiv limita de timp pentru ziua respectivă. Valorile z1z_1, z2z_2, \dots, zkz_k sunt în ordine strict crescătoare.

Date de ieșire

Fișierul plaja.out va conține pe prima linie un singur număr natural tmax, reprezentând numărul maxim de unităţi de timp pe care Zizi le poate petrece făcând plajă într-una din cele NN zile de concediu.

Restricții și precizări

  • 1N1 000 000 0001 \leq N \leq 1 \ 000 \ 000 \ 000
  • 1K100 0001 \leq K \leq 100 \ 000
  • 1t1,t2,,tk100 0001 \leq t_1, t_2, \dots, t_k \leq 100 \ 000
  • 1z1<z2<<zkN1 \leq z_1 < z_2 < \dots < z_k \leq N
  • 2T1 000 0002 \leq T \leq 1 \ 000 \ 000
  • Pentru 2020% din punctajul total există teste cu 1N,K1 0001 \leq N, K \leq 1 \ 000
  • Pentru 6565% din punctajul total există teste cu 1N,K100 0001 \leq N, K \leq 100 \ 000

Exemplul 1

plaja.in

3 1 3
1 2

plaja.out

8

Explicație

În ziua 11 timpul de plajă este limitat la 22 unități de timp. În ziua a doua timpul maxim de plajă este 2+32 + 3, iar în ziua a treia, timpul maxim este 2+3+3=82 + 3 + 3 = 8 unități de timp.

Exemplul 2

plaja.in

5 2 11
2 2
4 5

plaja.out

16

Explicație

În ziua 22 timpul de plajă este limitat la 22 unități de timp, iar în zilele 11 și 33 nu există limitare. Atunci timpul maxim de plajă pentru zilele 11 sau 33 este 2+11=132 + 11 = 13. În ziua 44 timpul de plajă este limitat la 55 unități de timp, iar în ziua 55 nu există limitare. Deci în ziua 55 timpul maxim de plajă este 5+11=165 + 11 = 16.

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