Cod sursa(job #2771446)

Utilizator pinzaruliviuPinzaru Liviu-Vasile pinzaruliviu Data 27 august 2021 12:56:42
Problema Stramosi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
#include <cmath>
using namespace std;

int t[30][250004];
int main()
{
    ifstream f("stramosi.in");
    ofstream g("stramosi.out");
     int i,j,n,m,N;
    f>>n>>m;
    for(j=1;j<=n;j++)
        f>>t[0][j];

    N=(int)log2(n);

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

//    for(i=0;i<=N;i++)
//    {
//        for(j=1;j<=n;j++)
//            g<<t[i][j]<<' ';
//        g<<'\n';
//    }

    int d,x,p;
    for(int i=0;i<m;i++)
    {
        p=0;
        f>>x>>d;
        while(d)
        {
            if(d%2)
                x=t[p][x];

            d /= 2;
            p++;
        }

        g<<x<<'\n';
    }

    return 0;
}