Pagini recente » Cod sursa (job #1857067) | Cod sursa (job #1367148) | Cod sursa (job #729611) | Cod sursa (job #1822744) | Cod sursa (job #2955666)
#include <bits/stdc++.h>
std :: ifstream fin("stramosi.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("stramosi.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;
}