Cod sursa(job #2181760)

Utilizator Vlad_lsc2008Lungu Vlad Vlad_lsc2008 Data 21 martie 2018 20:30:16
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <bits/stdc++.h>
using namespace std;

int n,m;
int pater[20][250005];

int main()
{
    int i,j;
    ifstream t1("stramosi.in");
    ofstream t2("stramosi.out");
    t1>>n>>m;
    for(i=1;i<=n;i++)
        t1>>pater[0][i];

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

    int who,nr;
    for(;m;m--)
    {
        t1>>who>>nr;
        while(nr)
        {
            for(i=0;(1<<i)<=nr;i++); i--;
            nr-=(1<<i);
            who=pater[i][who];
        }
        t2<<who<<'\n';
    }
    t1.close();
    t2.close();
    return 0;
}