Submission #1692444


Source Code Expand

#include <algorithm>
#include <bitset>
#include <cmath>
#include <cstdlib>
#include <iomanip>
#include <iostream>
#include <string>
#include <utility>
#include <vector>
#define vvi vector<vector<int>>
#define vi vector<int>
#define rep(i, n) for (int i = 0; i < (n); i++)
using namespace std;
const int INF = 10e7;
vvi v;
int dfs(int a) {
  if (v[a].size() == 0) {
    return 1;
  }
  int macs = -INF, mini = INF;
  rep(i, v[a].size()) {
    int money = dfs(v[a][i]);
    macs = max(macs, money);
    mini = min(mini, money);
  }
  return mini + macs + 1;
}

int main() {
  int n;
  cin >> n;
  v = vvi(n);
  int b;
  rep(i, n - 1) {
    cin >> b;
    b--;
    v[b].push_back(i + 1);
  }
  cout << dfs(0) << endl;

  return 0;
}

Submission Info

Submission Time
Task C - 高橋君の給料
User kuma13
Language C++14 (GCC 5.4.1)
Score 100
Code Size 771 Byte
Status AC
Exec Time 3 ms
Memory 384 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 4
AC × 22
Set Name Test Cases
Sample example_0.txt, example_1.txt, example_2.txt, example_3.txt
All example_0.txt, example_1.txt, example_2.txt, example_3.txt, maxrand_0.txt, maxrand_1.txt, maxrand_2.txt, random_0.txt, random_1.txt, random_2.txt, random_3.txt, random_4.txt, random_5.txt, random_6.txt, random_7.txt, random_8.txt, random_9.txt, special_0.txt, example_0.txt, example_1.txt, example_2.txt, example_3.txt
Case Name Status Exec Time Memory
example_0.txt AC 1 ms 256 KB
example_1.txt AC 1 ms 256 KB
example_2.txt AC 1 ms 256 KB
example_3.txt AC 1 ms 256 KB
maxrand_0.txt AC 1 ms 256 KB
maxrand_1.txt AC 1 ms 256 KB
maxrand_2.txt AC 1 ms 256 KB
random_0.txt AC 1 ms 256 KB
random_1.txt AC 1 ms 256 KB
random_2.txt AC 1 ms 256 KB
random_3.txt AC 1 ms 256 KB
random_4.txt AC 1 ms 256 KB
random_5.txt AC 1 ms 256 KB
random_6.txt AC 1 ms 256 KB
random_7.txt AC 1 ms 256 KB
random_8.txt AC 1 ms 256 KB
random_9.txt AC 1 ms 256 KB
special_0.txt AC 3 ms 384 KB