Cod sursa(job #2027709)

Utilizator usureluflorianUsurelu Florian-Robert usureluflorian Data 26 septembrie 2017 17:04:45
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include <fstream>
using namespace std;
ifstream f ("stramosi.in");
ofstream g ("stramosi.out");
int v[25][250003],n,m,care,nr,k;
int main()
{
    f>>n>>m;
    for(int i=1;i<=n;++i) f>>v[0][i];
    for(int i=1;(1<<i)<=n;++i)
    {
        for(int j=1;j<=n;++j) v[i][j]=v[i-1][v[i-1][j]];
    }
    for(int i=1;i<=m;++i)
    {
        f>>care>>nr;
        for(k=1;(1<<k)<=n;++k);
        while(care&&k--) if(nr&1<<k) care=v[k][care];
        g<<care<<'\n';
    }
    return 0;
}