Pagini recente » Cod sursa (job #2525759) | Cod sursa (job #2416409) | Cod sursa (job #772286) | Cod sursa (job #141643) | Cod sursa (job #391127)
Cod sursa(job #391127)
#include<stdio.h>
#define Nmax 250010
int a[20][Nmax],p,q,i,j,n,m,Lg[Nmax];
int main()
{
freopen("stramosi.in","r",stdin);
freopen("stramosi.out","w",stdout);
scanf("%d %d",&n,&m);
for(i=1;i<=n;i++)
scanf("%d",&a[0][i]);
for(i=2;i<=n;i++)
Lg[i]=Lg[i>>1]+1;
for(j=1; j <= Lg[n] ; j++)
for(i=1; i<=n; i++)
a[j][i]=a[j-1][a[j-1][i]];
for(i=1;i<=m;i++)
{
scanf("%d %d",&q,&p);
while(p)
{
q=a[Lg[p]][q];
p-=(1<<Lg[p]);
}
printf("%d\n",q);
}
return 0;
}