Pagini recente » Cod sursa (job #958982) | Cod sursa (job #2452354) | Cod sursa (job #2328993) | Cod sursa (job #841037) | Cod sursa (job #916095)
Cod sursa(job #916095)
#include<fstream>
#include<vector>
using namespace std;
ifstream f("stramosi.in"); ofstream g("stramosi.out");
const int NMAX = 250009;
int n, t, q, p, x[NMAX][2];
vector<int> v[NMAX];
inline void read_Data() {
f >> n >> t;
for(int i = 1; i <= n; ++i) f >> x[i][1];
}
inline void solve() {
for(int i = 1; i <= n; ++i) {
int k = i;
while(x[k][1] > 0) {
v[i].push_back(x[k][1]);
k = x[k][1];
}
}
}
inline void query() {
while(t --) {
f >> q >> p;
if(v[q].size() <= p - 1) g << "0\n";
else g << v[q][p - 1] << '\n';
}
}
int main() {
read_Data();
solve();
query();
g.close();
return 0;
}