Pagini recente » Cod sursa (job #728032) | Cod sursa (job #874549) | Cod sursa (job #492890) | Cod sursa (job #395566) | Cod sursa (job #2339664)
#include <iostream>
#include <cstdio>
#define N 250005
using namespace std;
int n, m, a, k, t[N][20];
void citire()
{
scanf("%d %d\n", &n, &m);
for(int i=1;i<=n;i++)
scanf("%d ", &t[i][0]);
}
void stramosi()
{
for(int i=1;i<=n;i++)
for(int j=1;j<20;j++)
t[i][j]=t[t[i][j-1]][j-1];
}
int main()
{
freopen("stramosi.in", "r", stdin);
freopen("stramosi.out", "w", stdout);
citire();
stramosi();
for(int i=0;i<m;i++)
{
scanf("%d %d\n", &a, &k);
int p=0;
while(k)
{
if(k%2!=0)
a=t[a][p], k=k-1;
p++;
k=k/2;
}
printf("%d\n", a);
}
return 0;
}