Pagini recente » Cod sursa (job #68704) | Cod sursa (job #2803411) | Cod sursa (job #693230) | Cod sursa (job #947494) | Cod sursa (job #503999)
Cod sursa(job #503999)
#include<stdio.h>
int l[40][250100],x,y,z,N,M;
int main()
{
freopen("stramosi.in","r",stdin);
freopen("stramosi.out","w",stdout);
scanf("%d%d",&N,&M);
for(int i=1;i<=N;++i)
{
scanf("%d",&l[0][i]);
}
for(int i=1;i<=23;++i)
for(int j=1;j<=N;++j)
{
l[j][i]=l[j-1][l[j-1][i]];
}
for(int i=1;i<=M;++i)
{
scanf("%d%d",&x,&y);
z=0;
while(y)
{
if(y%2==1)
{
x=l[z][x];
}
++z;
y=y/2;
}
printf("%d\n",x);
}
}