Cod sursa(job #3274077)

Utilizator Gerald123Ursan George Gerald123 Data 4 februarie 2025 22:43:18
Problema Stramosi Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
///circular
#include <bits/stdc++.h>
#define MOD 666013
using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int i,j,n,q,st[250010][15],x,y,k,cn;

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    fin>>n>>q;
    for(i=1; i<=n; i++)
        fin>>st[i][0];
    for(i=1; i<n; i++)
        for(j=1; j<=n; j++)
            st[j][i]=st[st[j][i-1]][i-1];
    for(k=1; k<=q; k++)
    {
        fin>>x>>y;
        cn=0;
        while((1<<cn)<y)
            cn++;
        for(; cn>=0 && y>0; cn--)
        {
            if((1<<cn)<=y)
            {
                x=st[x][cn];
                y-=(1<<cn);
            }
        }
        fout<<x<<'\n';
    }
    return 0;
}