Pagini recente » Cod sursa (job #1217932) | Cod sursa (job #2677525) | Cod sursa (job #268930) | Cod sursa (job #2374667) | Cod sursa (job #282413)
Cod sursa(job #282413)
# include <stdio.h>
# define n 250001
long N,M,T[20][n],i,j,p,q;
int main()
{
freopen("stramosi.in","r",stdin);
freopen("stramosi.out","w",stdout);
scanf("%ld %ld",&N,&M);
for (i=1;i<=N;++i)
scanf("%ld",&T[0][i]);
for (i=1;i<=20;++i)
for (j=1;j<=N;++j)
if (T[i-1][j]) T[i][j]=T[i-1][T[i-1][j]];
for (i=1;i<=M;++i){
scanf("%ld %ld",&q,&p);
for(j=0;p>0;j++){
if (p&1)q=T[j][q];
p/=2;
}
printf("%ld\n",q);
}
return 0;
}