Pagini recente » Cod sursa (job #2477995) | Cod sursa (job #253139) | Cod sursa (job #1952219) | Cod sursa (job #2511439) | Cod sursa (job #2548585)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int A[250005][30];
void solve(int nod,int rang){
int aux = 0;
while(rang != 0){
if(rang%2){
nod = A[nod][aux];
}
rang /= 2;
aux++;
}
fout<<nod<<'\n';
}
int main()
{
int n,i,m,Q,P,j;
fin>>n>>m;
for(i = 1; i <= n; i++){
fin>>A[i][0];
}
for(i = 1; i <= 18; i++){
for(j = 1; j <= n; j++){
A[j][i] = A[A[j][i-1]][i-1];
}
}
for(i = 1; i <= m; i++){
fin>>Q>>P;
solve(Q,P);
}
return 0;
}