Pagini recente » Cod sursa (job #1412446) | Cod sursa (job #2708418) | Cod sursa (job #689582) | Cod sursa (job #2642010) | Cod sursa (job #592200)
Cod sursa(job #592200)
#include <cstdio>
using namespace std;
int v[18][250001];
int main()
{
int n,m,n2,x=0,i,j,a,b;
freopen("stramosi.in","r",stdin);
freopen("stramosi.out","w",stdout);
scanf("%d %d\n",&n,&m);
n2=n;
while (n2)
{
++x;
n2>>=2;
}
for (i=1;i<=n;++i)
scanf("%d",&v[0][i]);
for (i=1;i<=x;++i)
for (j=1;j<=n;++j)
v[i][j]=v[i-1][v[i-1][j]];
for (i=1;i<=m;++i)
{
scanf("%d%d",&a,&b);
for (j=0;j<=x;++j)
if (b&(1<<j))
a=v[j][a];
printf("%d\n",a);
}
return 0;
}