Cod sursa(job #3209853)

Utilizator superffffalexandru radu superffff Data 3 martie 2024 17:09:40
Problema Stramosi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <bits/stdc++.h>

using namespace std;
ifstream in("stramosi.in");
ofstream out("stramosi.out");

int stramos[20][250001];
const int LogMaxN = 19;
int main()
{
    int n, m;
    in >> n >> m;
    for( int i = 1; i <= n; i++ )
        in >> stramos[0][i];

    for( int i = 1 ; i <= LogMaxN; i++ )
		for( int j = 1; j <= n; j++)
			stramos[i][j] = stramos[i - 1][stramos[i-1][j]];

    while( m-- ){
        int a, b;
        in >> a >> b;
        for( int i = 0; i < LogMaxN; i++ )
            if( b & (1 << i) )
                a = stramos[i][a] ;
        out << a << "\n" ;
    }
    return 0;
}