Pagini recente » Cod sursa (job #693912) | Cod sursa (job #2959836) | Cod sursa (job #1423660) | Cod sursa (job #1178362) | Cod sursa (job #2786588)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("stramosi.in");
ofstream fout ("stramosi.out");
int stramos[20][250005];
int n, q, nod, dist, p2;
int main (){
fin>>n>>q;
for(int i=1; i<=n; i++)
fin>>stramos[0][i];
for(int i=1; i <= 18; i++)
for(int j=1; j<=n; j++)
stramos[i][j] = stramos[i-1][ stramos[i-1][j] ];
while(q--){
fin>>nod>>dist;
p2=0;
while(dist != 0){
if(dist&1)
nod=stramos[p2][nod];
p2++;
dist >>= 1;
}
fout<<nod<<"\n";
}
return 0;
}