Pagini recente »
2020-02-27-clasa-7-tema-25
|
Diferențe pentru problema/cursaf1 între reviziile 24 și 2
Nu există diferențe între titluri.
Diferențe între conținut:
== include(page="template/taskheader" task_id="cursaf1") ==
Formula 1 este cea mai cunoscută competiție de automobile din lume. Fiecare cursă de Formula 1 presupune întrecerea a *n* mașini, care trebuie să termine un număr *x* de tururi pe circuit.
Formula 1 este cea mai cunoscută competiție de automobile din lume. Fiecare cursă de Formula 1 presupune întrecerea a _n_ mașini, care trebuie să termine un număr _x_ de tururi pe circuit.
Pentru că fiecare cursă este una lungă, mașinile au nevoie de întreținere. Astfel, fiecare mașină își face o strategie prin care va intra de un număr *b[~i~]* de ori la boxa mecanică. Acolo, mașina va fi reparată și verificată de echipa de mecanici într-un timp *c[~i~]*. La finalizarea lucrărilor de întreținere, mașina revine pe circuit și își continuă cursa.
Pentru că fiecare cursă este una lungă, mașinile au nevoie de întreținere. Astfel, fiecare mașină își face o strategie prin care va intra de un număr bi de ori la boxa mecanică. Acolo, mașina va fi reparată și verificată de echipa de mecanici într-un timp ci. La finalizarea lucrărilor de întreținere, mașina revine pe circuit și își continuă cursa.
Întrucât boxele mecanice sunt aglomerate de echipele de mecanici, acestea sunt separate de circuit, pentru a preveni accidente nedorite. Pentru a fi și mai precauți, organizatorii au impus o restricție de viteză în această porțiune. De aceea, drumul de la ieșirea de pe circuit până la boxe va fi parcurs în timpul *y*. Drumul de la boxe până la intrarea înapoi pe circuit este identic cu cel de ieșire de pe circuit.
Întrucât boxele mecanice sunt aglomerate de echipele de mecanici, acestea sunt separate de circuit, pentru a preveni accidente nedorite. Pentru a fi și mai precauți, organizatorii au impus o restricție de viteză în această porțiune. De aceea, drumul de la ieșirea de pe circuit până la boxe va fi parcurs în timpul y. Drumul de la boxe până la intrarea înapoi pe circuit este identic cu cel de ieșire de pe circuit.
La finalul celor *x* tururi, cel care ajunge primul la linia de sosire câștigă cursa.
La finalul celor x tururi, cel care ajunge primul la linia de sosire câștigă cursa.
h2. Cerință
Cunoscând pentru mașina *i*, timpul *a[~i~]* în care parcurge o tură, numărul de opriri la boxă efectuate de mașina *b[~i~]* și timpul petrecut la fiecare intrare la boxe pentru reparații *c[~i~]*, scrieți un program care determină mașina care va câștiga cursa și timpul în care o face.
Cunoscând pentru mașina i: timpul ai în care parcurge o tură, bi numărul de opriri la boxă efectuate de mașină și ci timpul petrecut la fiecare intrare la boxe pentru reparații, scrieți un program care determină mașina care va câștiga cursa și timpul în care o face.
h2. Date de intrare
Fișierul de intrare $cursaf1.in$ va conține pe prima linie numerele: *n* concurenți, *x* ture ce trebuie efectuate de fiecare mașină și *y* timpul în care o mașină ajunge la boxe și pleacă de la boxe. Următoarele *n* linii vor conține câte trei numere: *a[~i~]*, *b[~i~]* și *c[~i~]*, reprezentând ceea ce este descris în cerință.
Fișierul de intrare $cursaf1.in$ va conține pe prima linie numerele: n concurenți, x ture ce trebuie efectuate de fiecare mașină și y timpul în care o mașină ajunge la boxe și pleacă de la boxe. Următoarele n linii vor conține câte trei numere: ai, bi și ci, reprezentând ceea ce este descris în cerință.
h2. Date de ieșire
h2. Restricții
* 1 ≤ *n* ≤ 1 000 000
* 1 ≤ *x*, *y* ≤ 1000
* 1 ≤ *a[~i~]*, *c[~i~]* ≤ 10 000
* 0 ≤ *b[~i~]* ≤ 1000
* piloții și mecanicii sunt profesioniști și știu exact ce au de făcut așa că vor realiza același timp pentru fiecare tură făcută, respectiv pentru fiecare reparație pe care o efectuează
* 1 ≤ n ≤ 1 000 000
* 1 ≤ x, y ≤ 1000
* 1 ≤ ai, ci ≤ 10 000
* 0 ≤ bi ≤ 1000
* piloții și mecanicii sunt profesioniști și știu exact ce au de făcut, vor realiza același timp pentru fiecare tură făcută, respectiv pentru fiecare reparație pe care o efectuează
* dacă există 2 mașini cu același timp, câștigătorul va fi acela cu cel mai mic număr de ordine
h2. Exemplu
table(example).
|_. cursaf1.in |_. cursaf1.out |_. Explicație |
table(example).
|_. cursaf1.in |_. cursaf1.out |
| 4 10 1
5 3 2
6 2 3
7 4 2
5 4 1
| 1 62
| *n* este 4, deci în cursă sunt 4 mașini. *x* este 10, deci fiecare mașină va efectua 10 ture.
*y* este 1, deci drumul spre boxe ia 1, iar ieșirea de la boxe ia tot 1.
Mașina 1 are *a*[~*1*~]=5, deci efectuează o tură în timpul 5, *b*[~*1*~]=3, deci face 3
opriri pentru verificare și *c*[~*1*~]=2, deci fiecare verificare durează timpul
2. Mașina efectuează turele în timpul 10*5=50. Ea petrece la boxe timpul
3*2=6. Ea petrece intrând și ieșind de la boxe timpul 3*(1 + 1)=6. Timpul
în care termină cursa va fi 50+6+6=62.
|
h3. Explicație
Mașina 1 face turele în timpul 50, se oprește de 3 ori la boxă ceea ce înseamnă timpul 6 în total și petrece 1*3*2 să ajungă și să plece de la boxă. Mașina termină în 62
Mașina 2 termină cursa în timpul 70.
Mașina 3 termină cursa în timpul 86.
Mașina 4 termină cursa în timpul 62.
|
== include(page="template/taskfooter" task_id="cursaf1") ==
Nu există diferențe între securitate.