Pagini recente » Borderou de evaluare (job #983973) | Borderou de evaluare (job #1600980) | Borderou de evaluare (job #701187) | Borderou de evaluare (job #1073167) | Cod sursa (job #3231731)
#include <bits/stdc++.h>
using namespace std;
ifstream f("stramosi.in");
ofstream g("stramosi.out");
int main() {
long long n, m, i, q, p;
f >> n >> m;
vector<long long> v(n + 1), depth(n + 1);
depth[0] = 0;
for(i = 1; i <= n; ++i) {
f >> v[i];
depth[i] = depth[v[i]] + 1;
}
for(i = 0; i < m; ++i) {
f >> q >> p;
if(p >= depth[q]) {
g << "0\n";
} else {
while(p) {
q = v[q];
--p;
}
g << q << '\n';
}
}
return 0;
}