Pagini recente » Cod sursa (job #76563) | Cod sursa (job #2612187) | Cod sursa (job #696702) | Cod sursa (job #23813) | Cod sursa (job #3144819)
#include <bits/stdc++.h>
using namespace std;
const int LOGMAX = 10, NMAX = 250000;
int ancestor[LOGMAX + 5][NMAX + 5];
class Query {
private:
int node, number;
void reset() {
}
void read() {
cin >> node >> number;
}
void solve() {
for (int i = 0; (1 << i) <= number; i++)
if (number & (1 << i))
node = ancestor[i][node];
cout << node << '\n';
}
public:
Query() {
reset(), read(), solve();
}
};
int main() {
#ifndef TEST
freopen("stramosi.in", "r", stdin);
freopen("stramosi.out", "w", stdout);
#endif
ios_base :: sync_with_stdio(false);
cin.tie(nullptr), cout.tie(nullptr);
int t = 1, n;
cin >> n >> t;
for (int i = 1; i <= n; i++)
cin >> ancestor[0][i];
for (int i = 1; (1 << i) <= n; i++)
for (int j = 1; j <= n; j++)
ancestor[i][j] = ancestor[i - 1][ancestor[i - 1][j]];
while (t--)
Query query;
return 0;
}