Cod sursa(job #2755067)

Utilizator PopelEmilBogdanPopel Emil-Bogdan PopelEmilBogdan Data 26 mai 2021 19:20:16
Problema Stramosi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>

using namespace std;
int v[250005];

ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int N, M, Q, P, r, nr=0;


int main()
{
    fin >>N>>M;

    for(int i=1;i<=N;++i)
    {
        fin >> v[i];
        if(v[i]==i-1)
            nr++;
    }

    if(nr==N)
    {
        for(int i=1;i<=M;++i)
        {
            fin >> Q >> P;
            if(Q >= P)
                fout << Q-P << '\n';
            else
                fout << 0 << '\n';
        }
    }
    else
    {
        for(int i=1; i<=M; ++i)
        {
            fin >> Q >> P;
            r=Q;

            while(P>0 && r>0)
            {
                r = v[r];
                P--;
            }
            fout << r << '\n';
        }
    }
    return 0;
}