Nu aveti permisiuni pentru a descarca fisierul grader_test10.ok
Diferente pentru problema/pocnitoare intre reviziile #44 si #16
Nu exista diferente intre titluri.
Diferente intre continut:
== include(page="template/taskheader" task_id="pocnitoare") ==
Într-o seară, Por Costel, cel mai vestit dintre porci, a ieşit la plimbare. Mergea liniştit pe trotuar când lângăel s-a declanşat o pocnitoare. Ca orice porc, a avut reacţia defensivăde aîncepe sa guiţăie disperatşi săfugăde-alungul trotuarului.
Intr-o seara, Por Costel, cel mai vestit dintre porci, a iesit la plimbare. Mergea linistit pe trotuar cand langa el s-a declansat o pocnitoare. Ca orice porc, a avut reactia defensiva de a incepe sa guitaie disperat si sa fuga de-alungul trotuarului.
Deşi mişcarea lui Por Costel de-alungul trotuarului pare aleatoare, la o inspecţie amănunţităobservăm o anumităregulă.Sa consideram strada divizatăîn poziţii indexate de la <tex>0</tex> la <tex>N-1</tex>.Por Costel se află la momentul <tex>1</tex> în poziţia<tex>X_1</tex>. Dacăla momentul <tex>i</tex>,Por Costel se aflăla poziţia <tex>X</tex>, la momentul <tex>i+1</tex> Por Costel se va afla la poziţia <tex>(i*X + A)</tex> <tex>mod</tex> <tex>N</tex>.
Desi miscarea lui Por Costel de-alungul trotuarului pare aleatoare, la o inspectie amanuntita observam o anumita regula. Daca consideram strada divizata in pozitii indexate de la <tex>0</tex> la <tex>N-1</tex> iar la momentul <tex>i</tex> Por Costel se afla la pozitia <tex>X</tex>, la momentul <tex>i+1</tex> Por Costel se va afla la pozitia <tex>(X^2 + A)</tex> <tex>mod</tex> <tex>N</tex>.
Pentru a fi pregătiţi de situaţiaîn care Por Costel sare panicatîn mijlocul străzii (Doamne fereşte !), fanii lui văimplorăsa puteţi spuneîn orice momentîn ce poziţie se aflăel. Un query <tex>q</tex> semnifică întrebarea_"Pe ce poziţie se aflăPor Costella momentul de timp q?"_Query-urile vor fi la fel de aleatoare caşi mişcarea lui Por Costel. Vouăvi se va da query-ul iniţial<tex>Q_1</tex>iar celelalte query-urise genereazăastfel: dacătocmaiamrăspunslaîntrebarea<tex>Q_i</tex>,query-ul <tex>Q_i_+_1</tex>vafi <tex>(i*X_i + B)</tex> <tex>mod</tex> <tex>(10^7 + 3) + 1</tex>unde <tex>X_i</tex>este răspunsullaquery-ul<tex>i</tex>.
Pentru a fi pregatiti de situatia in care Por Costel sare panicat in mijlocul strazii (Doamne fereste !), fanii lui va implora sa puteti raspunde in orice moment la intrebari de genul: “In ce pozitie se afla acum Por Costel ?” Query-urile vor fi la fel de aleatoare ca si miscarea lui Por Costel. Voua vi se va da query-ul initial iar celelalte query-uri le generati utilizand formula: <tex>(i*X + A)</tex> <tex>mod</tex> <tex>(10^6 + 3)</tex>. unde <tex>i</tex> - indicele query-ului curent iar <tex>X</tex> - raspunsul la ultimul query iar <tex>a</tex> <tex>mod</tex> <tex>b</tex> este restul lui <tex>a</tex> la impartirea cu <tex>b</tex>.
h2. Date de intrare
În fişierul de intrare $pocnitoare.in$ se va găsii pe prima linie <tex>N</tex>, <tex>A</tex>, <tex>B</tex>, <tex>X_1</tex> (poziţia iniţialăa lui Por Costel), <tex>Q</tex> (numărul de query-uri), <tex>Q_1</tex>(query-ul iniţial).
În fişierul de intrare $pocnitoare.in$ se va gasii pe prima linie <tex>N</tex>, <tex>A</tex>, <tex>X_0</tex> (pozitia initiala a lui Por Costel), <tex>Q</tex> (numarul de query-uri), <tex>Q_1</tex>(query-ul initial).
h2. Date de ieşire
În fişierul de ieşire $pocnitoare.out$se vor găsii<tex>Q</tex> linii,pelinia <tex>i</tex>aflându-se răspunsul la al <tex>i</tex>-leaquery.
În fişierul de ieşire $pocnitoare.out$ <tex>T</tex> linii fiecare cu cate <tex>Q_i</tex> <tex>(1</tex> ≤ <tex>i</tex> ≤ <tex>T)</tex> numere care reprezinta raspunsurile la fiecare din cele <tex>Q_i</tex> query-uri de la al <tex>i</tex>-lea test.
h2. Restricţii
* <tex>1</tex> ≤ <tex>N</tex>, <tex>A</tex>, <tex>B</tex> ≤ <tex>2 * 10^9</tex> * <tex>0</tex> ≤ <tex>X_1</tex> ≤ <tex>N-1</tex>
* <tex>1</tex> ≤ <tex>N</tex>, <tex>A</tex>, <tex>X_1</tex> ≤ <tex>10^8^</tex>
* <tex>1</tex> ≤ <tex>Q</tex> ≤ <tex>10^5^</tex>
* <tex>1</tex> ≤ <tex>Q_1</tex> ≤ <tex>(10^7 + 3)</tex> * <tex>a</tex> <tex>mod</tex> <tex>b</tex> reprezintă restul împărţirii lui <tex>a</tex> la <tex>b</tex> * **Atenţie la limita de memorie!**
* <tex>0</tex> ≤ <tex>Q_1</tex> ≤ <tex>(10^6 + 2)</tex> * [b]Atentie![/b] pozitiile sunt indexate de la 0, pe cand queryurile de la 1!
h2. Exemplu table(example). |_. pocnitoare.in |_. pocnitoare.out |
| 17 3 7 1 3 1 | 1 14 6
| This is some text written on multiple lines. | This is another text written on multiple lines.
| == include(page="template/taskfooter" task_id="pocnitoare") ==
Nu exista diferente intre securitate.
Diferente intre topic forum:
10323