Pagini recente » Cod sursa (job #742796) | Cod sursa (job #442907) | Cod sursa (job #1920581) | Cod sursa (job #1390652) | Cod sursa (job #605058)
Cod sursa(job #605058)
#include<cstdio>
int N, M;
int P, Q;
int stramos[250001];
int leg[250001][250000];
int main()
{
freopen("stramosi.in","r", stdin);
freopen("stramosi.out","w", stdout);
scanf("%d %d\n", &N, &M);
for(int i = 1; i <= N; i++)
{
scanf("%d ", &stramos[i]);
}
int current;
for(int i = 1; i <= N; i++)
{
current = i;
int step = 0;
while(current != 0)
{
step++;
current = stramos[current];
leg[i][step] = current;
}
}
for(register int i = 1; i <= M; i++)
{
scanf("%d %d\n", &Q, &P);
current = leg[Q][P];
printf("%d\n", current);
}
return 0;
}