Pagini recente » Cod sursa (job #3199078) | Rating Ionescu Antonio (electrified2622) | Cod sursa (job #1940033) | Cod sursa (job #1020680) | Cod sursa (job #1608765)
#include <fstream>
#define NMAX 250005
using namespace std;
ifstream f("stramosi.in");
ofstream g("stramosi.out");
int n , m , q , p , x;
int dp[NMAX][25];
int main() {
f >> n >> m;
for(int i = 1 ; i <= n ; ++i) {
f >> x;
dp[i][0] = x;
for(int j = 1 ; j <= 20 ; ++j) {
dp[i][j] = dp[dp[i][j - 1]][j - 1];
}
}
for(int i = 1 ; i <= m ; ++i) {
f >> q >> p;
for(int j = 20 ; j >= 0 ; --j) {
if((1 << j) <= p) {
p -= (1 << j);
q = dp[q][j];
}
}
g << q << '\n';
}
return 0;
}