Pagini recente » Cod sursa (job #2293392) | Cod sursa (job #2398990) | Cod sursa (job #2937617) | Cod sursa (job #1322646) | Cod sursa (job #1080930)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
int n,m,i,k,q,p,lin,v[20][250001];
int main()
{
ifstream f("stramosi.in");
ofstream g("stramosi.out");
f>>n>>m;
for(i=1;i<=n;i++)
f>>v[0][i];
for(k=1;(1<<k)<=n;k++)
{
for(i=1;i<=n;i++) {
v[k][i]=v[k-1][v[k-1][i]];
}
//cout<<endl;
}
for(i=0;i<m;i++){
f>>q>>p;
while(p!=0){
lin=log2(p);
q=v[lin][q];
if(q==0)
break;
else
p-=(1<<lin);
}
g<<q<<'\n';
}
return 0;
}