Pagini recente » Diferente pentru utilizator/blz0r intre reviziile 28 si 27 | Diferente pentru algoritmiada-2018/runda-preoni/clasament intre reviziile 3 si 2 | Diferente pentru utilizator/pauldb intre reviziile 98 si 97 | Diferente pentru problema/romb intre reviziile 13 si 14 | Diferente pentru problema/stramosi intre reviziile 2 si 1
Diferente intre titluri:
Diferente intre continut:
== include(page="template/taskheader" task_id="stramosi") ==
Poveste ...
h2. Cerinta
...
h2. Restrictii
...
h2. Date de intrare
...
h2. Date de iesire
...
h2. Exemplu
| stramosi.in | stramosi.out |
| linia1
linia2
linia3
| linia1
linia2
|
== include(page="template/taskfooter" task_id="stramosi") ==
==Include(page="template/taskheader" task_id="stramosi")==
==Include(page="template/raw")==
Stramosi
Familia lui Gigel este foarte numeroasa, avand exact N membri. Fiecare membru stie cine este stramosul lui direct, mai putin cativa membri care sunt foarte batrani si nu mai tin minte nici macar cine a fost stramosul lor direct.
Gigel, fiind o fire curioasa a facut un inventar al familiei sale, in sensul ca a numerotat fiecare membru cu un numar distinct intre 1 si N si stie deasemenea pentru fiecare membru, care este stramosul lui direct (daca acesta exista). Curiozitate lui este si mai mare, in sensul ca isi pune M intrebari de forma: "care este al P-lea stramos al membrului cu numar Q?".
h2. Cerinta
Scrieti un program care raspunde corect la toate cele M intrebari ale lui Gigel.
Fisier de intrare
Pe prima linia a fisierului stramosi.in se afla numerele N si M.
Pe a doua linie se afla N numere intregi, reprezentand stramosii tuturor membrilor, incepand cu membrul 1 si terminand cu membrul N. Daca un membru nu are stramos, atunci in fisier se va afla numarul 0.
Pe urmatoarele M linii se afla perechi de numere Q si P, reprezentand o intrebare de forma "care este al P-lea stramos al membrului cu numar Q?"
Fisier de iesire
Pe fiecare din cele M linii ale fisierului stramosi.out se vor afla raspunsurile la intrebari, adica numerele de ordine al stramosilor (sau 0 daca identitatea stramosului nu este cunoscuta)
h2. Restrictii
S 1 <= N <= 250.000
S 1 <= M <= 300.000
h2. Exemplu
stramosi.in stramosi.out
13 7 2
0 1 2 2 4 1 6 0 8 8 10 10 12 1
5 2 6
3 2 0
7 1 8
1 3 0
13 3 10
9 2
11 1
==Include(page="template/taskfooter" task_id="stramosi")==
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.