Cod sursa(job #3359332)

Utilizator adimiclaus15Miclaus Adrian Stefan adimiclaus15 Data 27 iunie 2026 10:36:16
Problema Stramosi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;

int t[250001];
int s[250001][18];

int main() {
    ifstream cin("stramosi.in");
    ofstream cout("stramosi.out");
	int n, m;
    cin >> n >> m;
    for(int i = 1; i <= n; i++) {
        cin >> t[i];
        s[i][0] = t[i];
    }
    for(int j = 1; j <= 17; j++) {
        for(int i = 1; i <= n; i++) {
            s[i][j] = s[s[i][j - 1]][j - 1];
        }
    }
    for(int i = 1; i <= m; i++) {
        int x, d;
        cin >> x >> d;
        for(int b = 0; b <= 17 && (1 << b) <= d; b++) {
            if((1 << b) & d) {
                x = s[x][b];
            }
        }
        cout << x << '\n';
    }

}