Cod sursa(job #3230834)

Utilizator albuAlbu Victor albu Data 22 mai 2024 22:22:21
Problema Stramosi Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>
using namespace std;
int a[20][300000];
int nr,i,j,q,p,n,m;

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

int main()
{

    fin>>n>>m;
    for (i=1; i<=n; ++i)
        fin>>a[0][i];
    nr=1; i=n;
    while (i!=0)
    {
        for (j=1; j<=n; ++j)
            a[nr][j]=a[nr-1][a[nr-1][j]];
        i=i/2;
        nr++;
    }
    for (i=1; i<=m; ++i) {
        nr = 0;
        fin >> p >> q;
        while (q != 0 && p != 0) {
            if (q % 2 == 1)
                p = a[nr][p];
            nr++;
            q = q / 2;
        }
        fout << p;
    }
    return 0;
}