Pagini recente » Cod sursa (job #2002763) | Cod sursa (job #1618381) | Cod sursa (job #1053655) | Cod sursa (job #3297037)
#include <fstream>
using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int n, m;
int stramos[250005][19];
int main() {
fin >> n >> m;
for (int i = 1; i <= n; i++) fin >> stramos[i][0];
for (int i = 1; i <= n; i++)
for (int j = 1; j <= 18; j++)
stramos[i][j] = stramos[stramos[i][j - 1]][j - 1];
while (m--) {
int x, y;
fin >> x >> y;
int p = 0;
while (y) {
if (y & 1) x = stramos[x][p];
y >>= 1;
p++;
}
fout << x << '\n';
}
return 0;
}