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ă și consumă pentru fiecare unitate de drum parcurs o unitate de energie. Coordonata punctului de plecare al incursiunii robotului (raportată la origine = ) este , iar punctul unde este finalizat studiul are coordonata .
Totodată, cercetătorii au stabilit puncte ce fac posibilă încărcarea bateriilor robotului, numerotate de la la . Î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 – intensitate minimă/timp de încărcare mare, tipul – intensitate medie/timp de încărcare mediu, tipul – intensitate maximă/timp de încărcare scurt. Altfel, fiecare punct de încărcare este descris prin perechea , , 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 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 este minimă, atunci se va alege strategia pentru care cantitatea totală de energie încărcată în puncte de tipul să fie minimă.
Cerinţă
Dacă se cunosc , , , precum și descrierea celor puncte de încărcare să se determine o strategie de deplasare între coordonatele și , 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 , , , cu semnificația din enunț. Pe următoarele linii este descrierea punctelor de oprire: , , unde reprezintă tipul de încărcare al punctului , iar 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 , respectiv cantitatea totală minimă de energie încărcată în puncte de tipul . Dacă nu există soluție se va afișa valoarea .
Restricții și precizări
- ;
- . 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ă .
Exemplu
curiosity.in
1 11 5 4
3 -1
1 3
2 7
3 10
curiosity.out
1 3
Explicație
Pe axa există puncte de încărcare. Robotul pleaca din punctul = și trebuie să ajungă în punctul = . Inițial robotul are bateria încărcată la capacitatea maximă unități. Robotul oprește în punctul = . Pentru deplasarea din = în = a consumat unități de energie. Încarcă bateria cu unitate (tip ). Bateria are în acest moment capacitatea de unități, suficiente pentru a ajunge în punctul = unde încarcă bateria cu unități (tip ). În punctul = încarcă bateria cu unitate (tip ).