Pagini recente » Cod sursa (job #1264875) | Cod sursa (job #883121) | Cod sursa (job #2637966) | Cod sursa (job #2263758) | Cod sursa (job #2714206)
#include <bits/stdc++.h>
using namespace std;
int v[20][250005];
int main()
{
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int n,q,a,b;
fin >> n >> q;
for (int i = 1;i <= n;i++)
fin >> v[0][i];
for (int i = 1;i < 18;i++)
for (int j = 1;j <= n;j++)
v[i][j] = v[i - 1][v[i - 1][j]];
for (int i = 0;i < q;i++) {
fin >> a >> b;
for (int j = 17;j >= 0;j--)
if ((1 << j) <= b) {
b -= (1 << j);
a = v[j][a];
}
fout << a << '\n';
}
return 0;
}