Cod sursa(job #2181875)

Utilizator cristibogdanPatrascu Cristian cristibogdan Data 21 martie 2018 21:38:27
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>
#define NMAX 250005
using namespace std;
ifstream f("stramosi.in");
ofstream g("stramosi.out");
int n,m,d[20][NMAX],p,q,i,j,t;

int main()
{
    f>>n>>m;
    for(i=1;i<=n;i++)
        f>>d[0][i];
    while((1<<t)<=n)
        t++;
    t--;
    for(i=1;i<=t;i++){
        for(j=1;j<=n;j++)
            d[i][j]=d[i-1][d[i-1][j]];
    }
    for(i=1;i<=m;i++){
        f>>q>>p;
        while(p!=0){
            t=0;
            while((1<<t)<=p)
                t++;
            t--;
            q=d[t][q];
            p-=(1<<t);
        }
        g<<q<<'\n';

    }
    return 0;
}