Pagini recente » Cod sursa (job #1747836) | Cod sursa (job #78706) | Rating Chloe Haynes (5sophiec8322wh2) | Cod sursa (job #572420) | Cod sursa (job #3301715)
#include <fstream>
using namespace std;
ifstream fi("stramosi.in");
ofstream fo("stramosi.out");
const int logmax = 17;
int P[250001];
int Dp[18][250001];
int main() {
int N, M;
fi >> N >> M;
for (int i = 1; i <= N; i++) {
fi >> P[i];
Dp[0][i] = P[i];
}
for (int l = 1; l <= logmax; l++) {
for (int i = 1; i <= N; i++) {
Dp[l][i] = Dp[l - 1][Dp[l - 1][i]];
}
}
for (int i = 1; i <= M; i++) {
int q, p;
fi >> q >> p;
int cr = q;
for (int p2 = logmax; p2 >= 0; p2--) {
if ((1 << p2) <= p) {
p -= (1 << p2);
cr = Dp[p2][cr];
}
}
fo << cr << "\n";
}
}