Pagini recente » Cod sursa (job #1373482) | Cod sursa (job #2824560) | Cod sursa (job #1715236) | Cod sursa (job #1807601) | Cod sursa (job #75107)
Cod sursa(job #75107)
#include<stdio.h>
int nr[250010][20];
int main(){
freopen("stramosi.in","r",stdin);
freopen("stramosi.out","w",stdout);
int n,m,i,j,q,p,x,aux,poz;
scanf("%d %d",&n,&m);
for(i=1;i<=n;i++){
scanf("%d",&nr[i][0]);
for(j=1;j<19 && nr[i][j-1];j++)
nr[i][j]=nr[nr[i][j-1]][j-1];
}
for(x=0;x<m;x++){
scanf("%d %d",&q,&p);
while((p)&&(q)){
aux=p;
poz=0;
while(aux^1){
poz++;
aux>>=1;
}
q=nr[q][poz];
j=1<<poz;
p=p-j;
}
printf("%d\n",q);
}
return 0;
}