Cod sursa(job #3041158)

Utilizator rARES_4Popa Rares rARES_4 Data 31 martie 2023 08:48:40
Problema Stramosi Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("stramosi.in");
ofstream g ("stramosi.out");
int dp[25001][20];
int n,m;
int main()
{
    f >> n >> m;
    for(int i= 1; i<=n; i++)
    {
        f >> dp[i][0];
    }
    for(int put = 1; (1<<put)<=n; put++)
    {
            for(int i = 1;i<=n;i++)
            {
                dp[i][put] = dp[dp[i][put-1]][put-1];
            }
    }
    for(int i = 1; i<=m; i++)
    {
        int st,nr;
        f >> st >> nr;
        for(int put = 20; put>=0; put--)
        {
            if(nr>=(1<<put))
            {
                nr-=(1<<put);
                st = dp[st][put];
            }
        }
        g << st<<'\n';

    }
}