Pagini recente » Statistici Maddison Wright (6lydiac241fe0) | Monitorul de evaluare | Cod sursa (job #983609) | Statistici Rares-Octavian Mardare (raresmardare) | Cod sursa (job #2153606)
#include <cstdio>
using namespace std;
const int NMAX = 250005;
int stram[NMAX][19];
int main() {
int n, m;
freopen("stramosi.in", "r", stdin);
freopen("stramosi.out", "w", stdout);
scanf("%d%d", &n, &m);
for(int i = 1; i <= n; ++i) {
scanf("%d", &stram[i][0]);
}
for(int i = 1; 1 << i <= n; ++i) {
for(int j = 1; j <= n; ++j) {
stram[j][i] = stram[stram[j][i - 1]][i - 1];
}
}
for(int nrq = 0; nrq < m; ++nrq) {
int q, p;
scanf("%d%d", &q, &p);
for(int pp = 0; p > 0; p >>= 1, ++pp) {
if(p & 1) {
q = stram[q][pp];
}
}
printf("%d\n", q);
}
return 0;
}