Pagini recente » Cod sursa (job #2609798) | Cod sursa (job #145021) | Cod sursa (job #558361) | Cod sursa (job #1191634) | Cod sursa (job #2708225)
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int n, q, nod, b, tata[25][250005];
int main() {
fin >> n >> q;
for (int i = 1; i <= n; ++i)
fin >> tata[0][i];
for (int j = 1; j <= 20; ++j)
for (int i = 1; i <= n; ++i)
tata[j][i] = tata[j - 1][tata[j - 1][i]];
while (q--) {
fin >> nod >> b;
for (int i = 20; i >= 0; --i)
if ((1 << i) <= b)
nod = tata[i][nod], b -= (1 << i);
fout << nod << "\n";
}
return 0;
}