Pagini recente » Cod sursa (job #1530233) | Cod sursa (job #1272547) | Cod sursa (job #2770128) | Cod sursa (job #2936218) | Cod sursa (job #423374)
Cod sursa(job #423374)
#include<cstdio>
#include<vector>
using namespace std;
void read();
void find(int x, int y, int act);
void write(int x);
int s[300005];
int main() {
freopen("stramosi.out","w",stdout);
read();
return 0;
}
void read() {
freopen("stramosi.in", "r", stdin);
int n, m, aux;
int i, q, p;
scanf("%d%d", &n, &m);
for (i = 1; i <= n; ++i) {
scanf("%d", &aux);
s[i] = aux;
}
for (i = 1; i <= m; ++i) {
scanf("%d%d", &q, &p);
find(q, p, 1);
}
}
void find(int x, int y, int act) {
if (s[x] == 0) { write(s[x]); return; }
if (act == y) { write(s[x]); return; }
find(s[x], y, act + 1);
}
void write(int x) {
printf("%d\n",x);
}