Cod sursa(job #2902257)

Utilizator iioaaana777Ghergu Ioana iioaaana777 Data 15 mai 2022 23:02:52
Problema Stramosi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
#define NMAX 250002
using namespace std;

ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int N, M, Q, P, aint[NMAX], stramos;

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

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

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

            while(P > 0 && k > 0)
            {
                k = aint[k];
                --P;
            }
            fout<<k<<"\n";
        }

    return 0;
}