Pagini recente » Cod sursa (job #3242229) | Cod sursa (job #51527) | Cod sursa (job #2909640) | Cod sursa (job #1150479) | Cod sursa (job #3234236)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int stramosi[250250][25];
int n,m;
int main(){
fin>>n>>m;
for(int i=1;i<=n;i++){
fin>>stramosi[i][0];
}
for(int i=1;i<=n;i++){
for(int j=1;(1<<j)<=n;j++){
stramosi[i][j] = stramosi[stramosi[i][j-1]][j-1];
}
}
while(m>0){
int p,q;
fin>>q>>p;
int ans=q;
for (int i=0;(1<<i)<=p;i++){
if((p&(1<<i))!=0)
ans=stramosi[ans][i];
}
fout<<ans<<"\n";
m--;
}
return 0;
}