Cod sursa(job #2683020)

Utilizator AndreibatmanAndrei Croitoriu Andreibatman Data 10 decembrie 2020 11:17:04
Problema Stramosi Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int str[250010][30],lim,n,m,i,j,q,p,x;
int main()
{
    ios_base::sync_with_stdio(false);
    fin.tie(0);
    fin>>n>>m;
    lim=log2(n);
    for(i=1;i<=n;++i)
        fin>>str[i][0];
    for(i=1;i<=lim;i++)
        for(j=1;j<=n;j++)
            str[j][i]=str[str[j][i-1]][i-1];
    ++m;
    while(--m)
    {
        fin>>q>>p;
        x=0;
        while(p)
        {
            if(p&1)
                q=str[q][x];
            ++x;
            p>>=1;
        }
        fout<<q<<'\n';
    }
    return 0;
}