Cod sursa(job #2962946)

Utilizator zVoxtyVasile Sebastian Costinel zVoxty Data 9 ianuarie 2023 20:35:44
Problema Stramosi Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <iostream>
#include <unordered_map>

using namespace std;

const int MAXN = 250000;

int N, M;
int ancestor[MAXN + 5];
unordered_map<int, int> mem;

int main() {
cin >> N >> M;
for (int i = 1; i <= N; ++i) {
cin >> ancestor[i];
}

for (int i = 1; i <= M; ++i) {
int Q, P;
cin >> Q >> P;

if (mem[Q] != 0) {
  Q = mem[Q];
}
else {
  int p = Q;
  for (int j = 1; j < P; ++j) {
    if (ancestor[p] == 0) {
      mem[Q] = 0;
      Q = 0;
      break;
    }
    p = ancestor[p];
  }
  mem[Q] = p;
  Q = p;
}

cout << Q << endl;

}

return 0;
}