Cod sursa(job #3322124)

Utilizator ceezarGrecu Cezar Gabriel ceezar Data 12 noiembrie 2025 19:50:31
Problema Stramosi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <bits/stdc++.h>
#define mod 9901

using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");

/// dp[i][j] = al 2 la puterea i lea stramos al lui j

int n,m;
int dp[19][250002];

int main()
{
    fin>>n>>m;
    for(int i=1;i<=n;++i)
    {
        fin>>dp[0][i];
    }
    ///a<<b = a*(2^b) 1<<b = 2^b
    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)
    {
        int x,y;
        fin>>x>>y;
        int str=x;
        for(int j=0;(1<<j)<=y;++j)
            if((1<<j) & y)
                str=dp[j][str];
        fout<<str<<'\n';

    }
}