Pagini recente » Cod sursa (job #3229416) | Cod sursa (job #74412) | Cod sursa (job #55386) | Cod sursa (job #124154) | Cod sursa (job #1547502)
#include <iostream>
#include <fstream>
#include <string.h>
//#include <vector>
//#include <queue>
//#include <algorithm>
using namespace std;
const int nmax = 250002;
int n,v[nmax][2];
int main(){
freopen("stramosi.in", "r", stdin);
freopen("stramosi.out", "w", stdout);
int m;
scanf("%d %d", &n, &m);
v[0][0] = 0;
for (int i = 1; i <= n; i++)
scanf("%d", &v[i][0]);
for (int i = 1; i <= n; i++) {
int x = i;
for (int j = 10; j--;) x = v[x][0];
v[i][1] = x;
}
int a, b;
for (; m--;){
scanf("%d %d", &a, &b);
while (b != 1 && v[a] != 0) {
if (b > 10) {
b = -10;
a = v[a][1];
}
else {
b--;
a = v[a][0];
}
}
printf("%d\n", v[a]);
}
fclose(stdin);
fclose(stdout);
return 0;
}