Pagini recente » Istoria paginii utilizator/horiacosma | Cod sursa (job #1223345) | Cod sursa (job #1107411) | Cod sursa (job #2708898) | Cod sursa (job #1773441)
#include<bits/stdc++.h>
#define maxN 250005
using namespace std;
int n,m,x,st[20][maxN],p,last,y;
int main()
{
freopen("stramosi.in","r",stdin);
freopen("stramosi.out","w",stdout);
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
{
scanf("%d",&st[0][i]);
}
x=log2(n);
for(int i=1;i<=x;i++)
for(int j=1;j<=n;j++)
{
st[i][j]=st[i-1][st[i-1][j]];
}
for(int i=1;i<=m;i++)
{
scanf("%d%d",&x,&p);
last=x;
while(p)
{
int k=1;
int y=0;
while((k<<1)<=p) k<<=1,y++;
p-=k;
//y=log2(k);
last=st[y][last];
}
printf("%d\n",last);
}
return 0;
}