Pagini recente » Cod sursa (job #2855720) | Cod sursa (job #1706955) | Cod sursa (job #413726) | Cod sursa (job #2863536) | Cod sursa (job #342183)
Cod sursa(job #342183)
#include<stdio.h>
#define dim 250005
int main()
{
freopen("stramosi.in","r",stdin);
freopen("stramosi.out","w",stdout);
int a[20][dim],n,m,i,j,k,p,q;
a[0][0]=0;
scanf("%d%d",&n,&m);
for (i=1;i<=n;i++) {
scanf("%d",&j);
a[0][i]=j;
}
for (j=1; j<19; j++) {
a[j][0]=0;
for (i=1;i<=n;i++)
a[j][i]=a[j-1][a[j-1][i]];
}
while (m--)
{
scanf("%d%d",&q,&p);
for(j=19;j>=0;j--)
if(p&(1<<j))
{
q=a[j][q];
p-=1<<j;
}
printf("%d\n",q);
}
return 0;
}