Submission #514952

# Submission time Handle Problem Language Result Execution time Memory
514952 2022-01-18T22:56:28 Z CrouchingDragon Magic Tree (CEOI19_magictree) C++17
3 / 100
147 ms 40260 KB
#include <bits/stdc++.h>
int main() {
  std::ios_base::sync_with_stdio(false);
  std::cin.tie(nullptr);
  int N, M, K;
  std::cin >> N >> M >> K;
  std::vector<int> p(N);
  for (int u = 1; u < N; ++u) {
    std::cin >> p[u];
    --p[u];
  }
  std::vector<int> d(N), w(N);
  for (int j = 0; j < M; ++j) {
    int v;
    std::cin >> v;
    --v;
    std::cin >> d[v] >> w[v];
  }
  std::vector<std::map<int, int64_t>> s(N);
  for (int u = N - 1; u > 0; --u) {
    auto iter = s[u].insert({d[u], 0}).first;
    iter->second += w[u];
    ++iter;
    if (iter != s[u].end()) {
      iter->second -= w[u];
    }
    int v = p[u];
    if (s[v].size() < s[u].size()) {
      std::swap(s[v], s[u]);
    }
    for (auto [d, w] : s[u]) {
      s[v][d] += w;
    }
  }
  int64_t maxpref = 0, pref = 0;
  for (auto [d, w] : s[0]) {
    pref += w;
    maxpref = std::max(maxpref, pref);
  }
  std::cout << maxpref << '\n';
  exit(0);
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Incorrect 1 ms 308 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 48 ms 19764 KB Output is correct
2 Correct 29 ms 10292 KB Output is correct
3 Correct 147 ms 40260 KB Output is correct
4 Correct 65 ms 18240 KB Output is correct
5 Correct 85 ms 22852 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 332 KB Output is correct
2 Incorrect 1 ms 332 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 47 ms 12972 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Incorrect 1 ms 308 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 4 ms 2356 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Incorrect 1 ms 308 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Incorrect 1 ms 308 KB Output isn't correct
3 Halted 0 ms 0 KB -