Pagini recente » Cod sursa (job #641167) | Cod sursa (job #2955665)
#include <bits/stdc++.h>
std :: ifstream fin("test.in");
int v[250005];
std :: vector <int> tree[250005];
int main() {
std :: ios_base :: sync_with_stdio(0);
int n, Q;
fin >> n >> Q;
int i;
for (i = 1; i <= n; ++ i)
fin >> v[i];
int aux;
for (i = 1; i <= n; ++ i) {
aux = v[i];
while (aux)
tree[i].push_back(aux), aux = v[aux];
tree[i].push_back(0);
}
int x, y;
std :: ofstream fout("test.out");
for (i = 1; i <= Q; ++ i) {
fin >> x >> y;
if (y > tree[x].size())
fout << 0 << '\n';
else
fout << tree[x][y - 1] << '\n';
}
fin.close();
fout.close();
return 0;
}