Pagini recente » Cod sursa (job #2965209) | Cod sursa (job #3192399) | Cod sursa (job #1342559) | Cod sursa (job #2755794) | Cod sursa (job #141219)
Cod sursa(job #141219)
#include <stdio.h>
#define NM 250009
long a[NM][19];
long n, m;
int main()
{
freopen("stramosi.in","r",stdin);
freopen("stramosi.out","w",stdout);
scanf("%ld %ld", &n, &m);
for(long i=1;i<=n;i++)
scanf("%ld", &a[i][0]);
for(long i=1;i<=n;i++)
for(long j=1;j<18;j++)
a[i][j]=a[a[i][j-1]][j-1];
for(long j=1;j<=m;j++)
{
long q, p;
scanf("%ld %ld", &q, &p);
long i=18;
while (p)
{
while((1<<i)>p) i--;
p-=(1<<i);
q=a[q][i];
}
printf("%ld\n", q);
}
return(0);
}