Pagini recente » Cod sursa (job #80412) | Cod sursa (job #2339947) | Cod sursa (job #3170705) | Cod sursa (job #937024) | Cod sursa (job #1725091)
#include<bits/stdc++.h>
using namespace std;
int A[18][250100];
int N,M;
int main(){
ifstream cin("stramosi.in");
ofstream cout("stramosi.out");
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> N >> M;
for(int i = 1;i<=N;i++) cin >> A[0][i];
bool u =1;
for(int k = 1;k<=log2(N)&&u;k++){
u = 0;
for(int i = 1;i<=N;i++)
if(A[k-1][A[k-1][i]]) A[k][i] = A[k-1][A[k-1][i]],u=1;
}
for(int x,y;M--;){
cin >> x >> y;
int rs = x;
while(y){
int k = log2(y);
y -= (1<<k);
rs = A[k][rs];
}
cout << rs<<'\n';
}
return 0;
}