curiosity

Time limit: 0.04s Memory limit: 128MB Input: curiosity.in Output: curiosity.out

Misiunea robotului Curiosity este de-a trimite imagini și informații către satelitul plasat pe orbita planetei Marte. Zona de explorare a robotului este de-a lungul unei axe de coordonate Ox. Robotul este înzestrat cu o baterie solară de capacitate energetică maximă CC și consumă pentru fiecare unitate de drum parcurs o unitate de energie. Coordonata punctului de plecare al incursiunii robotului (raportată la origine xx = 00) este XsX_s, iar punctul unde este finalizat studiul are coordonata XfX_f.

Totodată, cercetătorii au stabilit NN puncte ce fac posibilă încărcarea bateriilor robotului, numerotate de la 11 la NN. În funcție de intensitatea luminii solare primite, reflectată în durata de încărcare a bateriei, punctele de încărcare sunt de trei tipuri: tipul 11 – intensitate minimă/timp de încărcare mare, tipul 22 – intensitate medie/timp de încărcare mediu, tipul 33 – intensitate maximă/timp de încărcare scurt. Altfel, fiecare punct de încărcare ii este descris prin perechea tit_i, xix_i, adică tipul de încărcare, respectiv poziția acestuia pe axă. În orice punct de încărcare robotul poate decide dacă încarcă sau nu bateria, cu unități de energie, nu mai mult decât capacitatea maximă. Robotul se poate deplasa dintr-un punct atât în stânga cât și în dreapta pe axă.

Pentru a scurta durata parcurgerii distanței către punctul final se dorește determinarea unei strategi optime a opririlor pentru încărcarea bateriilor, astfel încât cantitatea totală de energie încărcată în puncte de tipul 11 să fie minimă. În cazul în care sunt mai multe strategii de oprire pentru care cantitatea totală de energie încărcată în puncte de tipul 11 este minimă, atunci se va alege strategia pentru care cantitatea totală de energie încărcată în puncte de tipul 22 să fie minimă.

Cerinţă

Dacă se cunosc XsX_s, XfX_f, CC, precum și descrierea celor NN puncte de încărcare să se determine o strategie de deplasare între coordonatele XsX_s și XfX_f, optimă din punct de vedere al timpului necesar încărcării bateriilor.

Date de intrare

Fişierul curiosity.in conţine pe prima linie patru numere naturale XsX_s, XfX_f, CC, NN cu semnificația din enunț. Pe următoarele NN linii este descrierea punctelor de oprire: tit_i, xix_i, unde tit_i reprezintă tipul de încărcare al punctului ii, iar xix_i poziția acestuia pe axă.

Date de ieșire

Fişierul curiosity.out conţine pe o singură linie două numere naturale despărțite printr-un spațiu, ce reprezintă cantitatea totală minimă de energie încărcată în puncte de tipul 11, respectiv cantitatea totală minimă de energie încărcată în puncte de tipul 22. Dacă nu există soluție se va afișa valoarea 1-1.

Restricții și precizări

  • 1N100 0001 \leq N \leq 100 \ 000
  • 1C1 0001 \leq C \leq 1 \ 000
  • 1ti31 \leq t_i \leq 3;
  • 106xi106-10^6 \leq x_i \leq 10^6
  • 106Xs<Xf106-10^6 \leq X_s < X_f \leq 10^6. Acestea pot coincide cu coordonatele punctelor de încărcare;
  • Punctele de încărcare sunt distincte. Coordonatele punctelor sunt de tip întreg;
  • Punctele de încărcare sunt date în ordine crescătoare
  • Atenție, în momentul plecării din punctul Xs robotul este încărcat la capacitatea maximă CC.

Exemplu

curiosity.in

1 11 5 4
3 -1
1 3
2 7
3 10

curiosity.out

1 3

Explicație

Pe axa există n=4n = 4 puncte de încărcare. Robotul pleaca din punctul xsx_s = 11 și trebuie să ajungă în punctul xfx_f = 1111. Inițial robotul are bateria încărcată la capacitatea maximă C=5C = 5 unități. Robotul oprește în punctul xx = 33. Pentru deplasarea din xx = 11 în xx = 33 a consumat 22 unități de energie. Încarcă bateria cu 11 unitate (tip 11). Bateria are în acest moment capacitatea de 44 unități, suficiente pentru a ajunge în punctul xx = 77 unde încarcă bateria cu 33 unități (tip 22). În punctul xx = 1010 încarcă bateria cu 11 unitate (tip 33).

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