Cod sursa(job #3234236)

Utilizator RoyalZ2504Mihai Duzi RoyalZ2504 Data 8 iunie 2024 12:05:40
Problema Stramosi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int stramosi[250250][25];
int n,m;
int main(){
    fin>>n>>m;
    for(int i=1;i<=n;i++){
        fin>>stramosi[i][0];
    }
    for(int i=1;i<=n;i++){
        for(int j=1;(1<<j)<=n;j++){
            stramosi[i][j] = stramosi[stramosi[i][j-1]][j-1];
        }
    }
    while(m>0){
        int p,q;
        fin>>q>>p;
        int ans=q;
        for (int i=0;(1<<i)<=p;i++){
            if((p&(1<<i))!=0)
                ans=stramosi[ans][i];
        }
        fout<<ans<<"\n";
        m--;
    }
    return 0;
}