Pagini recente » Cod sursa (job #806117) | Cod sursa (job #909063) | Cod sursa (job #2217996) | Cod sursa (job #498167) | Cod sursa (job #3239876)
#include <fstream>
#include <deque>
using namespace std;
ifstream cin("stramosi.in");
ofstream cout("stramosi.out");
int n,m,r[20][250005];
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
cin>>r[0][i];
for(int p=1;(1<<p)<=n;p++)
for(int i=1;i<=n;i++)
r[p][i]=r[p-1][ r[p-1][i] ];
while(m--)
{
int q,p;
cin>>q>>p;
int t=q,putere=0;
while(p!=0)
{
if(p%2==1)
t=r[putere][t];
putere++;
p=p/2;
}
cout<<t<<'\n';
}
return 0;
}