Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2009-11-19 22:06:24.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:iopds.in, iopds.outSursăAlgoritmiada 2010, Runda 1
AutorStefan Alexandru FilipAdăugată deProstuStefan-Alexandru Filip Prostu
Timp execuţie pe test0.05 secLimită de memorie20480 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Iopds

Dubota are probleme cu somnul, aceasta oaie se viseaza subsir si e stresata pentru ca nu isi stie valorile. In timpul visului se plimba pe o poteca de lungul careia sunt N marcaje cu numere reale iar in dreptul fiecarui marcaj se intreaba daca numarul trecut acolo ii poate apartine sau nu, sau ce in conditii ar face parte. Dubota sta si se gandeste bine si isi da seama, ca prin vis, ca este un subsir care respecta proprietatea:
A * Xi2 + B * Xi-12 + C * Xi * Xi-1 > 0
Atunci Dubota isi da seama ca sunt mai multe modalitati prin care numerele de pe borne pot respecta formula.
Fiind date numerele A, B, C, si stiind sirul Vi de N numere (reprezentand valorile trecute pe borne), ajutati-o pe Dubota sa determine cate subsiruri respecta proprietatea sa.

Date de intrare

Fişierul de intrare iopds.in contine pe prima linie 3 numere reale, A, B, si C. Pe a doua linie se afla un intreg, N. Pe a treia linie sa gasesc N numere reale reprezentant sirul V.

Date de ieşire

În fişierul de ieşire iopds.out numarul de subsiruri care respecta proprietatea lui Dubota. Pentru ca aceasta valoare poate sa fie foarte mare, il veti scrie modulo 333019.

Restricţii

  • 1 ≤ N ≤ 2000
  • -10000 ≤ Vi ≤ 10000
  • -10000 ≤ A, B, C ≤ 10000
  • Valorile lui Vi sunt date cu o precizie de 3 zecimale

Exemplu

iopds.iniopds.out
2.000 -1.000 1.000
6
3.000 4.000 -1.000 -1.000 0.000 -2.000
6

Explicaţie

Valorile ingrosate reprezinta un subsir:

  1. 3.000 4.000 -1.000 -1.000 0.000 -2.000
  2. 3.000 4.000 -1.000 -1.000 0.000 -2.000
  3. 3.000 4.000 -1.000 -1.000 0.000 -2.000
  4. 3.000 4.000 -1.000 -1.000 0.000 -2.000
  5. 3.000 4.000 -1.000 -1.000 0.000 -2.000
  6. 3.000 4.000 -1.000 -1.000 0.000 -2.000
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?