Cod sursa(job #2958964)

Utilizator tomaionutIDorando tomaionut Data 29 decembrie 2022 14:12:52
Problema Stramosi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <bits/stdc++.h>

using namespace std;

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

int n, q, d[20][250003];

int main()
{
    int i, j, x, p;
    fin >> n >> q;
    for (i = 1; i <= n; i++)
        fin >> d[0][i];

    for (i = 1; i <= 18; i++)
        for (j = 1; j <= n; j++)
            d[i][j] = d[i - 1][d[i - 1][j]];

    while (q--)
    {
        fin >> x >> p;
        i = 0;
        while (p > 0)
        {
            if (p % 2 == 1)
                x = d[i][x];
            i++;
            p /= 2;
        }
        fout << x << "\n";
    }

    return 0;
}