Cod sursa(job #2955666)

Utilizator Mircea08Tomita Mircea Stefan Mircea08 Data 17 decembrie 2022 16:24:33
Problema Stramosi Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <bits/stdc++.h>
std :: ifstream fin("stramosi.in");
int v[250005];
std :: vector <int> tree[250005];
int main() {
    std :: ios_base :: sync_with_stdio(0);
    int n, Q;
    fin >> n >> Q;
    int i;
    for (i = 1; i <= n; ++ i)
        fin >> v[i];
    int aux;
    for (i = 1; i <= n; ++ i) {
        aux = v[i];
        while (aux)
            tree[i].push_back(aux), aux = v[aux];
        tree[i].push_back(0);
    }
    int x, y;
    std :: ofstream fout("stramosi.out");
    for (i = 1; i <= Q; ++ i) {
        fin >> x >> y;
        if (y > tree[x].size())
            fout << 0 << '\n';
        else
            fout << tree[x][y - 1] << '\n';
    }
    fin.close();
    fout.close();
    return 0;
}