Pagini recente » Cod sursa (job #746879) | Cod sursa (job #485570) | Cod sursa (job #3273374) | Cod sursa (job #351921) | Cod sursa (job #674643)
Cod sursa(job #674643)
#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[i][j]=l[i-1][l[i-1][j]];
}
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);
}
}