Cod sursa(job #2671373)

Utilizator Iulia_DianaIulia Diana Iulia_Diana Data 11 noiembrie 2020 23:09:30
Problema Stramosi Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int n, q, tata[250005], stra[250005][20];
int main()
{
    fin >> n >> q;
    for(int i=1; i<=n; i++)
    {
         fin >> stra[i][0];
    }
    for(int i=1; i<=17; i++)
        for(int j=2; j<=n; j++)
            stra[j][i]=stra[stra[j][i-1]][i-1];
    for(int i=1; i<=q; i++)
    {
        int x, k, num=0;
        fin >> x >> k;
        while(k)
        {
             if(k%2)  x=stra[x][num];
             k/=2;
             num++;
        }
         fout << x << "\n";
    }
    return 0;
}