Fişierul intrare/ieşire:reactor.in, reactor.outSursă[email protected] 2017
AutorAdrian PanaeteAdăugată devaliro21FII Valentin Rosca valiro21
Timp execuţie pe test0.8 secLimită de memorie20480 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Reactor

Un reactor contine un tunel circular de accelerare a particulelor format din N sectoare numerotate in sens trigonometric cu numere de la 1 la N. In fiecare sector există initial cate o particula. Fiecare particula are propria sa iteza de rotatie masurata in numar de sectoare parcurse in sens trigonometric in interval de o secunda. Cand se porneste reactorul toate particulele incep sa se roteasca in sens trigonometric fiecare cu propria sa viteza. Dupa fiecare secunda daca doua sau mai multe particule ajung in acelasi sector acestea fuzioneaza. In urma fuziunii se formeaza o singura particula a carei viteza va fi suma vitezelor particulelor care au fuzionat.

Cerinţă

Să se scrie un program care pentru dat şi cunoscând vitezele initiale ale celor N particulecule raspunde la Q intrebari de forma „Care este viteza particulei situate in sectorul S la T secunde de la pornirea reactorului?”. Dacă in sectorul S după T secunde nu există o particula se va afisa 0.

Date de intrare

Fişierul de intrare reactor.in conţine pe prima linie numărul N de sectoare. A doua linie va conţine N numere naturale nenule, v1, v2, ... vN separate prin spaţii reprezentand vitezele iniţiale ale celor N particule. A treia linie va conţine un singur numar Q - numărul de întrebări. Următoarele Q linii vor conţine câte două numere S şi T separate prin spaţii reprezentând sectorul şi secunda corespunzăroare unei întrebări.

Date de ieşire

În fişierul de ieşire reactor.out va conţine Q linii. Pe fiecare linie se va afişa câte un număr reprentând răspunsul la întrebarea corespunzătoare din fişierul de intrare.

Restricţii

  • 1 ≤ N ≤ 100
  • 1 ≤ Q ≤ 100000
  • 1 ≤ S ≤ N pentru fiecare întrebare.
  • 1 ≤ T ≤ 1000000000 pentru fiecare întrebare.
  • Vitezele iniţiale ale particulelor sunt numere naturale nenule şi nu depăşesc
    40000.

Exemplu

reactor.inreactor.out
3
3 1 1
2
1 1
3 2
4
0

Explicaţie

După o secundă particular din sectorul 1 parcurge 3 sectoare si revine in sectorul 1, particula din sectorul 2 parcurge 1 sector si ajunge in sectorul 3 iar particula din sectorul 3 parcurge 1 sector si ajunge in sectorul 1. Se bservă că prima si ultima particular fuzioneaza in sectorul 1 formand astfel o singura particular cu viteza 4. Astfel raspunsul la prima intrebare este ca in sectorul 1 dupa o secunda avem o particular cu viteza 4. După inca o secunda particular din sectorul 1 parcurge 4 sectoare si ajunge in sectorul 2 in timp ce particular din sectorul 3 parcurge un sector si ajunge in sectorul 1. Nu au loc fuziuni. Astfel dupa 2 secunde nu exista particular in sectorul 3 deci raspunsul la a doua intrebare este 0.

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?