Cod sursa(job #2280812)

Utilizator Raoul_16Raoul Bocancea Raoul_16 Data 11 noiembrie 2018 10:56:53
Problema Stramosi Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <fstream>
const std :: string programName = "stramosi";
std :: ifstream f(programName + ".in");
std :: ofstream g(programName + ".out");

const int NMAX = 25E4;

int N, M, tati[NMAX + 5];

void read(void);
void solve(void);
int Ancestor(int, int);

int main(void) {
    read();
    solve();
    return 0x0;
}

void read(void) {
    f >> N >> M;
    for (int i = 1; i <= N; ++i)
        f >> tati[i];
}

void solve() {
    while (M--) {
        int Q, P;
        f >> Q >> P;
        g << Ancestor(Q, P) << '\n';
    }
}

int Ancestor(int Q, int P) {
    while (P) {
        Q = tati[Q];
        P--;
    }
	return Q;
}