Pagini recente » Cod sursa (job #592027) | Cod sursa (job #154116) | Cod sursa (job #1470322) | Cod sursa (job #2682427) | Cod sursa (job #315473)
Cod sursa(job #315473)
#include<stdio.h>
int n,m;
int v[20][250003];
void stramosi()
{
int i,j;
for(i=1;(1<<i)<=n;i++)
for(j=1;j<=n;j++)
v[i][j]=v[i-1][v[i-1][j]];
}
void read()
{
freopen("stramosi.in","r",stdin);
freopen("stramosi.out","w",stdout);
scanf("%d%d",&n,&m);
int i;
for(i=1;i<=n;++i)
scanf("%d",&v[0][i]);
}
void rez()
{
int i,q,p,j;
for(j=1;j<=m;j++)
{
scanf("%d%d",&q,&p);//q=b p=a
i=0;
while(p)
{
if(p&1)
q=v[i][q];
++i;
p=p>>1;
}
printf("%d\n",q);
}
}
int main()
{
read();
stramosi();
rez();
return 0;
}