Cod sursa(job #2714206)

Utilizator ElizaTElla Rose ElizaT Data 1 martie 2021 15:00:23
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 v[20][250005];

int main()
{
    ifstream fin("stramosi.in");
    ofstream fout("stramosi.out");
    int n,q,a,b;
    fin >> n >> q;
    for (int i = 1;i <= n;i++)
        fin >> v[0][i];
    for (int i = 1;i < 18;i++)
        for (int j = 1;j <= n;j++)
            v[i][j] = v[i - 1][v[i - 1][j]];
    for (int i = 0;i < q;i++) {
        fin >> a >> b;
        for (int j = 17;j >= 0;j--)
            if ((1 << j) <= b) {
                b -= (1 << j);
                a = v[j][a];
            }
        fout << a << '\n';
    }
    return 0;
}