Cod sursa(job #2056862)

Utilizator LauraNaduLaura Nadu LauraNadu Data 4 noiembrie 2017 13:34:23
Problema Stramosi Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <fstream>
#include <cmath>
using namespace std;
ifstream f("stramosi.in");
ofstream g("stramosi.out");
int n, m, d[51][250003], i, j, sol, k;
int main()
{
    f>>n>>m;
    for(i=1;i<=n;i++)
        f>>d[0][i];
    for(k=1;(1<<k)<=n;k++)
        for(i=1;i<=n-(1<<(k-1))+1;i++)
            d[k][i]=d[k-1][d[k-1][i]];
    for(;m;m--)
    {
        f>>i>>j;
        sol=i;
        while(j>0)
        {
            k=log2(j);
            sol=d[k][sol];
            j=j-(1<<k);
        }
        g<<sol<<"\n";
    }
    return 0;
}