Pagini recente » Cod sursa (job #1924202) | Cod sursa (job #2731711) | Cod sursa (job #1913277) | Cod sursa (job #737623) | Cod sursa (job #2397649)
#include <bits/stdc++.h>
using namespace std;
int D[250005][18];
int main() {
ios::sync_with_stdio(false);
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int n, q;
fin >> n >> q;
for (int i = 1; i <= n; ++i) {
fin >> D[i][0];
}
for (int j = 1; j < 18; ++j) {
for (int i = 1; i <= n; ++i) {
D[i][j] = D[D[i][j-1]][j-1];
}
}
while (q--) {
int x, p;
fin >> x >> p;
for (int i = 0; (1<<i) <= p; ++i) {
if ((1<<i) & p) {
x = D[x][i];
if (x == 0) break;
}
}
fout << x << "\n";
}
return 0;
}