Pagini recente » Cod sursa (job #2735817) | Cod sursa (job #2275400) | Cod sursa (job #1275870) | Cod sursa (job #158113) | Cod sursa (job #2595354)
#include <bits/stdc++.h>
using namespace std;
ifstream in("stramosi.in");
ofstream out("stramosi.out");
const int N=250005;
int far[20][N];
int n,m;
int main(){
in>>n>>m;
for(int i=1;i<=n;i++){
in>>far[0][i];
}
for(int lg=1;lg<20;lg++){
for(int i=1;i<=n;i++)
far[lg][i]=far[lg-1][far[lg-1][i]];
}
while(m--){
int nod,k;
in>>nod>>k;
for(int lg=0;lg<20;lg++){
if(k%2){
nod=far[lg][nod];
}
k/=2;
}
out<<nod<<'\n';
}
return 0;
}