Cod sursa(job #3333083)

Utilizator uncrownedHojda Adelin uncrowned Data 10 ianuarie 2026 22:01:25
Problema Stramosi Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin("stramosi.in");
ofstream fout("stramosi.out");

#define cin fin 
#define cout fout

int parent[250001][20];
int n,q;

int jump(int a, int d) {
    for(int i = 0; i < 10; i++) {
        if (d&(1<<i)) {
            a=parent[a][i];
        }
    }
    return a;
}

int main() {
    
    cin >> n >> q;
    for(int i = 1;  i<= n; i++) {
        cin >> parent[i][0];
    }
    for(int d=1; d < 10; d++) {
        for(int i = 1; i <= n; i++) {
            parent[i][d]=parent[parent[i][d-1]][d-1];
        }
    }
    while(q--) {
        int x, y;
        cin >> x >> y;
        cout << jump(x, y) << "\n";
    }
    return 0;
}