Pagini recente » Cod sursa (job #1355371) | Cod sursa (job #3170601) | Cod sursa (job #2191048) | Cod sursa (job #706635) | Cod sursa (job #521995)
Cod sursa(job #521995)
#include <stdio.h>
#define Nmax 250100
int N,M,p,q,a[20][Nmax],nr,ok=1,niv,i,j;
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]);
i=1;
while(ok)
{
ok=0;
for(j=1;j<=N;++j)
{
a[i][j]=a[i-1][a[i-1][j]];
if(a[i][j])
ok=1;
}
++i;
}
for(i=1;i<=M;++i)
{
scanf("%d%d",&q,&p);
niv=0;
while(p&&q)
{
if(p%2)
q=a[niv][q];
niv++;
p>>=1;
}
printf("%d\n",q);
}
return 0;
}