Cod sursa(job #3133731)

Utilizator opreaopreacalin@gmail.comCalin Oprea [email protected] Data 26 mai 2023 18:04:35
Problema Stramosi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>
#include <cmath>
using namespace std;
ifstream in("stramosi.in");
ofstream out("stramosi.out");


int n,m,mat[51][250001],l[250001],i,j,k;

int main()
{
    in>>n>>m;
    in>>mat[0][1];
    for(i=2;i<=n;i++)
    {
        in >> mat[0][i];
        l[i]= l[i / 2] + 1;
    }
    for(k=1;(1<<k)<=n;k++)
        for(i=1;i<=n;i++)
            mat[k][i]=mat[k - 1][mat[k - 1][i]];
    while(m>0)
    {
        in >> i >> j;
        while(j>0)
        {
            i=mat[l[j]][i];
            j=j-(1 << l[j]);
        }
        out << i << "\n";
        m--;
    }
    return 0;
}