Pagini recente » Cod sursa (job #3162132) | Cod sursa (job #2669364) | Cod sursa (job #2703320) | Cod sursa (job #1185287) | Cod sursa (job #2339719)
#include <iostream>
#include <cstdio>
#define N 250005
using namespace std;
int n, m, a, k, t[20][N];
void citire()
{
scanf("%d %d\n", &n, &m);
for(int i=1;i<=n;i++)
scanf("%d ", &t[0][i]);
}
void stramosi()
{
for(int j=1;j<20;j++)
for(int i=1;i<=n;i++)
t[j][i]=t[j-1][t[j-1][i]];
}
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[p][a];
p++;
k=k>>1;
}
printf("%d\n", a);
}
return 0;
}