Pagini recente » Cod sursa (job #1971255) | Cod sursa (job #224523) | Cod sursa (job #273381) | Cod sursa (job #2641798) | Cod sursa (job #1038089)
#include <cstdio>
using namespace std;
int v[20][250000];
int n,m,i,j,q,x,y;
int main()
{
freopen("stramosi.in", "r", stdin);
freopen("stramosi.out", "w", stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++) scanf("%d",&v[0][i]);
for(i=1,j=1;j<=n;j<<=1,i++)
{
for(q=1;q<=n;q++)
{
v[i][q]=v[i-1][v[i-1][q]];
}
}
for(;m;m--)
{
scanf("%d%d",&x,&y);
for(i=0,j=1;j<=y;i++,j<<=1)
{
if(j&y) x=v[i][x];
}
printf("%d\n",x);
}
fclose(stdin);fclose(stdout);
return 0;
}