Cod sursa(job #3171359)

Utilizator altcinava3322Cineva altcinava3322 Data 18 noiembrie 2023 19:15:35
Problema Stramosi Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <iostream>
using namespace std;

int n, m;
int dp[18][250001];

int main(){
    cin >> n >> m;
    for(int i=1; i<=n; ++i)
        cin >> dp[0][i];
    for(int i=1; (1 << i) <= n; ++i)
        for(int j=1; j <= n; ++j)
            dp[i][j] = dp[i-1][dp[i-1][j]];
    int q, p;
    while(m--) {
        cin >> q >> p;
        for(int i=0; p; ++i) {
            if(p & 1)
                q = dp[i][q];
            p >>= 1;
        }
        cout << q << '\n';
    }
    return 0;
}