Cod sursa(job #2643298)

Utilizator AndreiCroitoruAndrei Croitoru AndreiCroitoru Data 19 august 2020 14:17:12
Problema Stramosi Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>

using namespace std;
ifstream in("stramosi.in");
ofstream out("stramosi.out");
long long ma[30][250001];
int main()
{
    int n,m,p,q,k;
    int i,j;
    in>>n>>m;
    for(i=1; i<=n; i++)
    {
        in>>ma[0][i];
    }
    for(i=1; i*2<=n; i++)
    {
        for(j=1; j<=n; j++)
        {
            ma[i][j]=ma[i-1][ma[i-1][j]];
        }
    }
    while(m--)
    {
        in>>q>>p;
        int ok=0;
        while(p)
        {
            if(p%2==1)
            {
                q=ma[ok][q];
            }
            ok++;
            p/=2;
        }
        out<<q<<'\n';
    }
    return 0;
}