Cod sursa(job #3234414)

Utilizator sirbu27Sirbu Iulia-Georgiana sirbu27 Data 9 iunie 2024 11:27:02
Problema Stramosi Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int v[250250][25], N, M;

int main()
{
    fin >> N >> M;
    for (int i = 1; i <= N; i++)
        fin >> v[i][0];

    for (int i = 1; i <= N; i++)
    {
        for (int j = 1; (1 << j) <= N; j++)
            v[i][j] = v[v[i][j - 1]][j - 1];
    }

    while (M)
    {
        int x, y;
        fin >> x >> y;
        int rez = y;
        for (int i = 0; (1 << i) <= y; i++)
        {
            if ((x & (1 << i)) != 0)
                rez = v[rez][i];
        }
        fout << rez << "\n";
        M--;
    }

    return 0;
}