Submission #1530582


Source Code Expand

#include <bits/stdc++.h>
#define REP(i,n) for (int i=0;i<(n);i++)
#define RREP(i,n) for (int i=(n)-1;i>=0;i--)
using namespace std;

int main()
{
    int N;
    cin >> N;
    vector<int> B(N);
    vector<vector<int> > children(N, vector<int>());
    for (int i = 1; i < N; i++) {
        cin >> B[i];
        B[i]--;
        children[B[i]].push_back(i);
    }

    vector<long long> salary(N, 1);
    for (int i = N - 1; i >= 0; i--) {
        if (children[i].size() == 0)
            continue;

        long long min_salary = INT_MAX, max_salary = INT_MIN;
        for (int c : children[i]) {
            min_salary = min(min_salary, salary[c]);
            max_salary = max(max_salary, salary[c]);
        }
        salary[i] = min_salary + max_salary + 1;
    }
    cout << salary[0] << endl;
}

Submission Info

Submission Time
Task C - 高橋君の給料
User tokumini
Language C++14 (GCC 5.4.1)
Score 100
Code Size 829 Byte
Status AC
Exec Time 1 ms
Memory 256 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 1 ms 256 KB