Cod sursa(job #3301660)

Utilizator tedicTheodor Ciobanu tedic Data 28 iunie 2025 21:45:56
Problema Stramosi Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>

using namespace std;
int dp[20][250005]; ///dp[k][i] = al 2^k lea stramos al lui i
int main()
{
    ifstream cin("stramosi.in");
    ofstream cout("stramosi.out");
    int n,q;
    cin>>n>>q;
    for(int i=1; i<=n; i++)
        cin>>dp[0][i];
    for(int k=1; k<=20; k++)
    {
        for(int i=1; i<=n; i++)
            dp[k][i]=dp[k-1][dp[k-1][i]];
    }
    while(q--)
    {
        int stra, nod;
        cin>>nod>>stra;
        for(int i=0; i<=20; i++)
        {
            if((1<<i)&stra)
                nod=dp[i][nod];
        }
        cout<<nod<<'\n';
    }
    return 0;
}