Cod sursa(job #3239876)

Utilizator Bianca2507Negret Bianca Bianca2507 Data 8 august 2024 14:58:20
Problema Stramosi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>
#include <deque>

using namespace std;
ifstream cin("stramosi.in");
ofstream cout("stramosi.out");

int n,m,r[20][250005];
int main()
{
    cin>>n>>m;
    for(int i=1;i<=n;i++)
        cin>>r[0][i];

    for(int p=1;(1<<p)<=n;p++)
        for(int i=1;i<=n;i++)
        r[p][i]=r[p-1][ r[p-1][i] ];
    while(m--)
    {
        int q,p;
        cin>>q>>p;
        int t=q,putere=0;
        while(p!=0)
        {
            if(p%2==1)
                t=r[putere][t];
            putere++;

            p=p/2;
        }
        cout<<t<<'\n';
    }
    return 0;
}