Cod sursa(job #3338346)

Utilizator Afilipoae_TeodorAfilipoae Teodor Cezar Afilipoae_Teodor Data 2 februarie 2026 19:27:28
Problema Stramosi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <bits/stdc++.h>

using namespace std;

#define NMAX 250005
#define PUT 18

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

int stramos[NMAX];
int dp[NMAX][PUT];

int n,m,i,j;
int x,y;

int main()
{
    ios_base::sync_with_stdio(false);
    fin.tie(0);

    fin>>n>>m;

    for(i=1;i<=n;i++)
    {
        fin>>stramos[i];
        dp[i][0]=stramos[i];
    }

    for(j=1;j<PUT;j++)
    {
        for(i=1;i<=n;i++)
        {
            dp[i][j]=dp[ dp[i][j-1] ][ j-1 ];
        }
    }

    for(i=1;i<=m;i++)
    {
        fin>>x>>y;

        for(j=0;j<PUT;j++)
        {
            if(y&(1<<j))
                x=dp[x][j];
        }

        fout<<x<<"\n";
    }

    return 0;
}