Cod sursa(job #2247001)

Utilizator tigeraOprea Tereza Emilia tigera Data 27 septembrie 2018 19:21:39
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <iostream>
#include <fstream>

using namespace std;


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


int a[20][250010], n, m, q, p, str, put;

int main ()
{
    fin >> n >> m;
    for (int i=1; i<=n; i++)
        fin >> a[0][i];
    for (int i=1; i<=18; i++)
    {
        for (int j=1; j<=n; j++)
            a[i][j] = a[i-1][a[i-1][j]];
    }
    for (int k=1; k<=m; k++)
    {
        fin >> q >> p;
        str = a[0][q];
        p--;
        put = 0;
        while (p!=0)
        {
            if(p%2==1)
            {
                str = a[put][str];
            }
            p/=2;
            put++;
        }
        fout << str << '\n';
    }
}