Pagini recente » Cod sursa (job #1887610) | Cod sursa (job #2602019) | Cod sursa (job #2504317) | Cod sursa (job #916365) | Cod sursa (job #260750)
Cod sursa(job #260750)
#include <stdio.h>
#define N 250002
int i,j,str[18][N],n,m,q,p;
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",&str[0][i]);
for(j=1;j<18;j++)
{
for(i=1;i<=n;i++)
if (str[j-1][i]!=0)
str[j][i]=str[j-1][str[j-1][i]];
}
for(i=1;i<=m;i++)
{
scanf("%d%d",&q,&p);
for(j=0;p;j++,p/=2)
{
if (p&1)
q=str[j][q];
}
printf("%d\n",q);
}
return 0;
}