Cod sursa(job #3200172)

Utilizator Minea_TheodorMinea Theodor Stefan Minea_Theodor Data 3 februarie 2024 18:49:24
Problema Stramosi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>

using namespace std;

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

int v[25][400001];

int d(int x, int y)
{
    int q=0;
    while(y != 0)
    {
        if(y%2 == 1)
            x = v[q][x];
        q++;
        y>>=1;
    }
    return x;
}

int main()
{
    int n, m;
    fin >> n >> m;
    for(int i = 1; i <= n; i++)
        fin >> v[0][i];
    for(int i = 1; i < 22; i++)
    {
        for(int j = 1; j <= n; j++)
            v[i][j] = v[i-1][v[i-1][j]];
    }
    for(int i = 0; i < m; i++)
    {
        int a, b;
        fin >> a >> b;
        fout << d(a,b) << '\n';
    }
    return 0;
}