Pagini recente » Cod sursa (job #1232050) | Cod sursa (job #1548457) | Cod sursa (job #1688282) | Cod sursa (job #375469) | Cod sursa (job #3168965)
#include<fstream>
using namespace std;
int n,m,a[18][250001];
int stra(int q,int p){
int x=q,r,i=0;
while(p){
r=p&1;
if(r)
x=a[i][x];
i++;
p>>=1;
}
return x;
}
int main(){
ifstream in("stramosi.in");
ofstream out("stramosi.out");
int i,j,p,q,ll;
in>>n>>m;
for(j=1;j<=n;j++)
in>>a[0][j];
ll=0;p=1;
while(p*2<=n){
ll++;
p*=2;
}
for(i=1;i<=ll;i++)
for(j=1;j<=n;j++)
a[i][j]=a[i-1][a[i-1][j]];
for(;m;m--){
in>>q>>p;
out<<stra(q,p)<<"\n";
}
return 0;
}