Cod sursa(job #2976841)

Utilizator alexdumitrescuDumitrescu George Alex alexdumitrescu Data 10 februarie 2023 10:42:42
Problema Stramosi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <bits/stdc++.h>
#define Nmax 250005
#define LG 18

using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int n, m, t[Nmax][LG];
int main()
{
    fin >> n >> m;

    for(int i=1;i<=n;i++)
        fin >> t[i][0];

    for(int j=1; j<LG; j++)
        for(int i=1;i<=n;i++)
            t[i][j] = t[t[i][j-1]][j-1];

    while(m--)
    {
        int p, q;
        fin >> q >> p;
        for(int j=LG-1; j>=0; j--)
            if((p>>j)&1)
                q = t[q][j];

        fout << q << '\n';
    }

    return 0;
}