Cod sursa(job #3003238)

Utilizator MateiStoianStoian Matei Octavian MateiStoian Data 15 martie 2023 16:56:56
Problema Stramosi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <bits/stdc++.h>

using namespace std;
int n, q;
int t[250001][19];
fstream fin("stramosi.in",ios::in),fout("stramosi.out",ios::out);
int main() {
    fin >> n >> q;
    for (int i = 1; i <= n; i++) {
        fin >> t[i][0];
    }
    for (int h = 1; h <= 18; h++) {
        for (int i = 1; i <= n; i++) {
            t[i][h] = t[t[i][h - 1]][h - 1];
        }
    }
    while (q--) {
        int nod, k;
        fin >> nod >> k;
        for(int h=18;h>=0;h--)
        {
            if(k & (1<<h))
            {
                nod = t[nod][h];
            }
        }
        fout<<nod<<'\n';
    }
    return 0;
}