Pagini recente » Cod sursa (job #3221514) | Cod sursa (job #1969949) | Cod sursa (job #1736740) | Monitorul de evaluare | Cod sursa (job #156069)
Cod sursa(job #156069)
#include<stdio.h>
int cat,n,x[18][260000],y[20];
int zz,p1,i,j,k,m;
int main()
{ freopen("stramosi.in","r",stdin);
freopen("stramosi.out","w",stdout);
scanf("%ld%ld",&n,&cat);
y[0]=1;
for(j=1;j<=17;j++)
y[j]=2*y[j-1];
x[0][0]=0;
for(j=1;j<=n;j++)
scanf("%d",&x[0][j]);
for(i=1;i<=17;i++)
for(j=1;j<=n;j++){
m=x[i-1][j];
x[i][j]=x[i-1][m];
}
for(i=1;i<=cat;i++){
scanf("%d%d",&p1,&zz);
k=1;
while(zz){
if(zz%2==1)
p1=x[k-1][p1];
k++;
zz/=2;
}
printf("%d\n",p1);
}
fclose(stdout);
return 0;
}