Pagini recente » Cod sursa (job #1421926) | Cod sursa (job #760027) | Cod sursa (job #3206759) | Cod sursa (job #2369221) | Cod sursa (job #2339649)
#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 & 1)
a=t[a][p];
p++;
k >>= 1;
}
printf("%d\n", a);
}
return 0;
}