Cod sursa(job #3178829)

Utilizator MrPuzzleDespa Fabian Stefan MrPuzzle Data 2 decembrie 2023 16:06:05
Problema Stramosi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <bits/stdc++.h>

#define DIM 250000
#define DIM2 18

using namespace std;

//ifstream f("in.in");
//ofstream g("out.out");

ifstream f("stramosi.in");
ofstream g("stramosi.out");

int n,m,x,nr;
int v[DIM+5][DIM2+5];


signed main(){

    f>>n>>m;
    for(int i=1;i<=n;i++){
        f>>x;
        v[i][0] = x;

        int k = 1;
        while(v[v[i][k-1]][k-1]){
            v[i][k] = v[v[i][k-1]][k-1];
            k++;
        }
    }

    for(int i=1;i<=m;i++){
        f>>x>>nr;

        for(int p=0;p<=DIM2;p++){
            if(nr&(1<<p)){
                x = v[x][p];
            }
        }

        g<<x<<'\n';
    }


    return 0;
}