Pagini recente » Cod sursa (job #1232490) | Cod sursa (job #2955087) | Cod sursa (job #1033826) | Cod sursa (job #2107332) | Cod sursa (job #1787357)
#include<cstdio>
int t[19][300001];//t[i][j]=al 2^i -lea stramos al lui j
int query(int p,int q)
{
int i;
i=0;
while(p!=0)
{
if(p%2!=0)
q=t[i][q];
p/=2;
i++;
}
return q;
}
int main()
{
int n,m,q,p;
freopen("stramosi.in","r",stdin);
freopen("stramosi.out","w",stdout);
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
{
scanf("%d",&t[0][i]);
}
for(int i=1;i<=18;i++)
{
for(int j=1;j<=n;j++)
{
t[i][j]=t[i-1][t[i-1][j]];
}
}
for(int j=1;j<=m;j++)
{
scanf("%d%d",&q,&p);
printf("%d\n",query(p,q));
}
return 0;
}