Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | minim2.in, minim2.out | Sursă | Stelele Informaticii 2010 |
Autor | Drutu Bogdan | Adăugată de | |
Timp execuţie pe test | 0.55 sec | Limită de memorie | 12096 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Minim2
Lavinia tocmai s-a apucat de ciclism si vrea neaparat sa intre in cartea recordurilor asa ca si-a ales un traseu format din N portiuni pe care vrea sa bata recordul. Pentru a bate recordul pe traseu, suma timpilor obtinuti de Lavinia pe fiecare portiune de drum trebuie sa fie mai mica decat recordul curent. Din pacate ea nu este suficient de bine pregatita asa ca apeleaza la ajutorul vostru. Voi aveti posibilatea de a inmulti lungimea oricarei portiuni o data cu un numar subunitar A si de oricate ori dupa cu un alt numar subunitar B, A ≤ B. Care este numarul minim de actionari care trebuie sa le faceti astfel incat Lavinia sa bata recordul.
Date de intrare
Pe prima linie a fisierului de intrare minim2.in se va gasi un numar intreg N, reprezentand numarul de portiuni. Pe urmatorul rand se vor gasi N numere naturale reprezentand lungimile portiunilor. Pe al 3-lea rand se vor afla 3 numere reale, A, B si recordul curent.
Date de ieşire
Pe prima linie a fisierului de ieşire minim2.out se va gasi numarul minim de actionari care trebuiesc efectuate astfel incat Lavinia sa bata recordul.
Restricţii
- 1 ≤ N ≤ 100.000
- 1 ≤ D[i] ≤ 1.000.000.000
- 0 ≤ A ≤ B ≤ 1
- Pentru toate testele, numarul total de actionari nu va depasi 500.000.000.
- Pentru 40% din teste nu vor fi efectuate mai mult de 200.000 de actionari.
- Recordul se considera batut daca diferenta in valoare absoluta intre timpul Laviniei si record e mai mica decat 10-6 sau daca timpul Laviniei este mai mic decat record.
- Nici o portiune nu va fi micsorata de mai mult decat 10.000 de ori.
Exemplu
minim2.in | minim2.out |
---|---|
4 5 10 100 18 0.5 0.75 52.4 | 4 |
Explicaţie
Prima data se actioneaza asupra traseului 3, 100 * 0.5 = 50. A 2-a oara se actioneaza din nou asupra sectorului 3 50*0.75=37.5, suma fiind 70.5. A 3-a oara se actioneaza tot asupra sectorului 3, 37.5*0.75=28.125. A 4-a oara se actioneaza asupra sectorului 4 18*0.5=9. Si astfel suma este 5+10+28.125+9=52.125.