Submission #3110460


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
using lint = long long int;
template<class T = int> using V = vector<T>;
template<class T = int> using VV = V< V<T> >;
template<class T> void assign(V<T>& v, int n, const T& a = T()) { v.assign(n, a); }
template<class T, class... U> void assign(V<T>& v, int n, const U&... u) { v.resize(n); for (auto&& i : v) assign(i, u...); }

int rec(int v, const VV<>& c, V<>& a){
  if (c[v].empty()) return a[v] = 1;
  int res = 1;
  for (auto&& i : c[v]) res += rec(i, c, a);
  return a[v] = res;
}

int main() {
  cin.tie(NULL); ios::sync_with_stdio(false);
  int n; cin >> n;
  V<> p(n); for (int i = 1; i < n; i++) cin >> p[i];
  VV<> c(n);
  for (int i = 1; i < n; i++) c[p[i]].push_back(i);
  V<> a(n);
  rec(0, c, a);
  for (int i = 0; i < n; i++) {
    int res = -1;
    int s = 0;
    for (auto&& v : c[i]) {
      res = max(res, a[v]);
      s += a[v];
    }
    cout << max(res, n - 1 - s) << '\n';
  }
}

Submission Info

Submission Time
Task C - 高橋王国の分割統治
User risujiroh
Language C++14 (GCC 5.4.1)
Score 100
Code Size 982 Byte
Status AC
Exec Time 29 ms
Memory 13312 KB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 30 / 30 70 / 70
Status
AC × 2
AC × 11
AC × 18
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
Subtask1 sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt
Subtask2 sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
subtask1_01.txt AC 1 ms 256 KB
subtask1_02.txt AC 1 ms 256 KB
subtask1_03.txt AC 1 ms 256 KB
subtask1_04.txt AC 1 ms 256 KB
subtask1_05.txt AC 1 ms 256 KB
subtask1_06.txt AC 1 ms 256 KB
subtask1_07.txt AC 1 ms 256 KB
subtask1_08.txt AC 1 ms 256 KB
subtask1_09.txt AC 1 ms 384 KB
subtask2_01.txt AC 21 ms 4224 KB
subtask2_02.txt AC 27 ms 5120 KB
subtask2_03.txt AC 29 ms 5632 KB
subtask2_04.txt AC 29 ms 5632 KB
subtask2_05.txt AC 17 ms 4472 KB
subtask2_06.txt AC 17 ms 4736 KB
subtask2_07.txt AC 26 ms 13312 KB