Pagini recente » Cod sursa (job #1863997) | Cod sursa (job #1645400) | Cod sursa (job #1700271) | Cod sursa (job #1480646) | Cod sursa (job #3277640)
#include <fstream>
using namespace std;
ifstream cin("stramosi.in");
ofstream cout("stramosi.out");
const int nmax=250002;
int n,m,dp[nmax][20],p,q;
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>dp[i][0];
}
for(int j=1;j<=19;j++){
for(int i=1;i<=n;i++){
dp[i][j]=dp[dp[i][j-1]][j-1];
}
}
for(int i=1;i<=m;i++){
cin>>q>>p;
for(int j=19;j>=0;j--){
if(p>=1<<j){
q=dp[q][j];
p-=(1<<j);
}
}
cout<<q<<'\n';
}
return 0;
}