Cod sursa(job #3283830)

Utilizator Allie28Radu Alesia Allie28 Data 10 martie 2025 16:09:19
Problema Stramosi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>

using namespace std;

ifstream fin("stramosi.in");
ofstream fout("stramosi.out");

const int LMAX = 250005;
const int INF = 0x3F3F3F3F;

int str[25][LMAX];

int main() {
    int n, q, x, p, i, j;
    fin>>n>>q;
    for (i = 1; i <= n; i++) {
        fin>>x;
        str[0][i] = x;
    }
    for (i = 1; i < 25; i++) {
        for (j = 1; j <= n; j++) {
            str[i][j] = str[i - 1][str[i - 1][j]];
        }
    }
    int aux;
    while (q--) {
        fin>>x>>p;
        aux = 0;
        while ((1<<aux) <= p) {
            if (p&(1<<aux)) {
                x = str[aux][x];
            }
            aux++;
        }
        fout<<x<<"\n";
    }


    fin.close();
    fout.close();
    return 0;
}