Cod sursa(job #1696874)

Utilizator ZanoxNonea Victor Zanox Data 30 aprilie 2016 09:05:10
Problema Stramosi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <fstream>

int v[250001][19],n,m,i,j,k,l,sol;

using namespace std;

fstream f,g;

int main()
{
    f.open("stramosi.in",ios_base::in);
    g.open("stramosi.out",ios_base::out);
    f>>n>>m;
    for(i=1;i<=n;i++)f>>v[i][1];
    for(i=2;i<=18;i++)for(j=1;j<=n;j++)v[j][i]=v[v[j][i-1]][i-1];
    for(i=1;i<=m;i++)
    {
        f>>sol>>k;
        //sol id, k grad stramos
        for(j=1,l=2;l<=k;j++,l*=2)if(l&j)sol=v[sol][j];
        g<<sol<<'\n';
    }
}