Călătorie cu Taxiul

Time limit: 0.02s Memory limit: 4MB Input: taxi.in Output: taxi.out

Un călător doreşte să străbată o distanţă de nn kilometri cu taxiul, astfel încât preţul pe care îl plăteşte să fie minim. Compania de taximetre pe care această persoană o foloseşte are un tarif unitar fix de CC lei pentru un kilometru, însă are de asemenea nişte oferte speciale de tipul (k,Lk, L) cu semnificaţia că pentru o porţiune de drum de kk kilometri călătorul poate să plătească LL lei (în locul unui tarif unitar pe numărul de kilometri). Din păcate, aceste oferte sunt foarte ciudate, şi dacă nu este atent, călătorul nostru se poate păcăli uşor. De exemplu compania de taximetre poate să ceară pentru 2.432.43 km un tarif de 1370.891370.89 lei şi pentru 3.83.8 km un tarif de 1509.431509.43 lei.

Cerinţă

Cum călătorul nostru are dificultăţi în manevrarea unor astfel de numere, el vă roagă să-l ajutaţi să afle modul optim de organizare a excursiei sale, cunoscând atât numărul de km pe care acesta trebuie să-i parcurgă cât şi tarifele practicate de compania de taximetre.

Date de intrare

Pe prima linie a fişierului taxi.in se găseşte numărul nn de kilometri pe care călătorul trebuie să îi parcurgă. Pe cea de-a doua linie se află tariful unitar LL practicat de compania de taximetre. Următoarele linii (cel mult 100100), până la sfârşitul fişierului conţin perechi de forma kk, CC reprezentând ofertele speciale ale companiei. Toate numerele care apar în fişierul de intrare sunt numere reale, strict pozitive, mai mici decât 1 0001 \ 000 şi cu fix 22 zecimale.

Date de ieșire

Prima linie a fişierului taxi.out va conţine suma minimă pe care o poate achita călătorul, scrisă cu trei zecimale exacte. Următoarea linie va conţine o succesiune de numere, reprezentând ordinea în care se face alegerea ofertelor speciale. Aceste numere pot fi atât naturale cât şi numere reale negative. Numerele naturale indică a câta ofertă din fişierul de intrare a fost aleasă la un moment dat, iar numerele reale negative indică numărul de km parcurşi (în modul), folosind preţul unitar.

Restricții și precizări

  • 0<n1000 < n \leq 100
  • 0<L1 0000 < L \leq 1 \ 000
  • 0<k1 0000 < k \leq 1 \ 000
  • 0<C1 0000 < C \leq 1 \ 000
  • Numerele nn, LL, kk, CC sunt reale şi au maximum câte două zecimale.

Exemplu

taxi.in

52.65
0.80
8.75 5.50
60.35 20.47	
20.40 10.20

taxi.out

28.380
-0.69 1 3 3 –2.41

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