Cod sursa(job #2902816)

Utilizator Stefania_RincuRincu Stefania Stefania_Rincu Data 16 mai 2022 20:42:43
Problema Stramosi Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<iostream>
#include <fstream>
using namespace std;

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

int mat[21][250003];

int main()
{
    int n, q, i, j, poz, k, sol;
    in>>n>>q;
    cout<<1;
    for(i = 1; i <= n; i++)
        in>>mat[0][i];
    cout<<1;
    for(i = 1; i <= 18; i++)
        for (j = 1; j <= n; j++)
            mat[i][j] = mat[i-1][mat[i-1][j]];
    cout<<1;
    for(i = 1; i <= q; i++)
    {
        in>>poz>>k;
        sol = 0;
        while(k > 0)
        {
            if(k%2 == 1) poz = mat[sol][poz];
            sol++;
            k /= 2;
        }
        out<<poz<<"\n";
    }
    return 0;
}