Fişierul intrare/ieşire: | reactor.in, reactor.out | Sursă | ProSoft@NT 2017 |
Autor | Adrian Panaete | Adăugată de | |
Timp execuţie pe test | 0.4 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/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.in | reactor.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.