Cod sursa(job #3206795)

Utilizator Deleanu_LucaDeleanu Luca Deleanu_Luca Data 24 februarie 2024 09:53:28
Problema Stramosi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <fstream>
#define NMAX 250052

using namespace std;

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

int dp[20][NMAX],N,M,Q,P;

int main()
{
    int i,j,ans;

    fin>>N>>M;

    for(i=1; i<=N; i++)
        fin>>dp[0][i];

    for(i=1; (1<<i)<=N; i++)
        for(j=1; j<=N; j++)
            dp[i][j]=dp[i-1][dp[i-1][j]];

    for(i=1; i<=M; i++)
    {
        fin>>Q>>P;

        ans=Q;
        for(j=0; (1<<j)<=P; j++)
            if((1<<j)&P)
                ans=dp[j][ans];
        fout<<ans<<'\n';
    }

    return 0;
}