Pagini recente » Cod sursa (job #398758) | Cod sursa (job #1996073) | Cod sursa (job #2569010) | Profil StarGold2 | Cod sursa (job #3293132)
#include <bits/stdc++.h>
using namespace std;
int parents[30][200005];
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int N, Q;
cin >> N >> Q;
for (int i = 1; i <= N; i++) {
cin >> parents[0][i];
}
for (int i = 1; i <= 29; i++) {
for (int j = 1; j <= N; j++) {
parents[i][j] = parents[i - 1][parents[i - 1][j]];
}
}
while (Q--) {
int a, b;
cin >> a >> b;
for (int i = 0; i <= 29; i++) {
if (b & (1 << i)) {
a = parents[i][a];
}
}
cout << a << '\n';
}
return 0;
}