Pagini recente » Cod sursa (job #3166550) | Cod sursa (job #2760685) | Cod sursa (job #902887) | Cod sursa (job #1534620) | Cod sursa (job #3256517)
#include <bits/stdc++.h>
#define mod 1000000007
#define int long long
#define dim 250002
using namespace std;
ifstream fin ("stramosi.in");
ofstream fout("stramosi.out");
int str[20][dim];
int query (int x,int k)
{
int sol = x;
for (int i=0;i<=18;i++)
if (k & (1<<i))
sol = str[i][sol];
return sol;
}
int32_t main()
{
int n,i,j,m,x,k;
cin>>n>>m;
for (i=1;i<=n;i++)
cin>>str[0][i];
for (i=1;i<=18;i++)
{
for (j=1;j<=n;++j)
str[i][j]=str[i-1][str[i-1][j]];
}
while (m--)
{
cin>>x>>k;
cout<<query(x, k)<<'\n';
}
return 0;
}