Cod sursa(job #1773354)

Utilizator c0mradec0mrade c0mrade Data 7 octombrie 2016 19:22:03
Problema Stramosi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("stramosi.in");
ofstream g("stramosi.out");

int n,m,x,p,q,dp[250001][19];

int main()
{
    f>>n>>m;
    for(int i=1;i<=n;++i)
    {
        f>>x;
        dp[0][i]=x;
    }
    for(int i=1;(1<<i)<=n;++i)
    {
        for(int j=1;j<=n;++j)
            dp[i][j]=dp[i-1][dp[i-1][j]];
    }
    for(int i=1;i<=m;++i)
    {
        f>>p>>q;
        for(int j=0;j<=18;++j)
             if(q&(1<<j))
                p = dp[j][p];
        g<<p<<'\n';
    }
    return 0;
}