Pagini recente » Cod sursa (job #1365322) | Cod sursa (job #802663) | Cod sursa (job #2626757) | Cod sursa (job #2304693) | Cod sursa (job #239778)
Cod sursa(job #239778)
#include <stdio.h>
int a[18][250001];
int main(void) {
freopen("stramosi.in","r",stdin);
freopen("stramosi.out","w",stdout);
int n, m, i, j, x, y;
scanf(" %d %d", &n, &m);
for (i = 1; i <= n; ++i)
scanf(" %d", &a[0][i]);
for (j = 1; (1 << j) <= n; ++j)
for (i = 1; i <= n; ++i)
a[j][i] = a[j-1][ a[j-1][i] ];
for (i = 0; i < m; ++i) {
scanf(" %d %d", &x, &y);
for (j = 0; y; ++j, y >>= 1)
if (y & 1)
x = a[j][x];
printf("%d\n", x);
}
return 0;
}