Submission #1322459


Source Code Expand

import java.io.*;
import java.math.*;
import java.util.*;

public class Main {
    private static boolean debug = false;
    private static boolean elapsed = false;

    private static PrintWriter _out = new PrintWriter(System.out);
    private static PrintWriter _err = new PrintWriter(System.err);

    private List<List<Integer>> list = new ArrayList<>();

    private void solve(Scanner sc) {
        int N = sc.nextInt();
        for (int i = 0; i < N; ++i) {
            list.add(new ArrayList<>());
        }
        for (int i = 0; i < N - 1; ++i) {
            int a = sc.nextInt();
            list.get(a - 1).add(i + 1);
        }
        _out.println(calc(0));
    }
    private int calc(int v) {
        List<Integer> child = list.get(v);
        if (child.size() == 0) {
            return 0;
        }

        List<Integer> tmp = new ArrayList<>();
        for (int u : child) {
            tmp.add(calc(u));
        }
        Collections.sort(tmp);
        int res = 0;
        for (int i = 0; i < tmp.size(); ++i) {
            int u = tmp.get(i);
            res = Math.max(res, u + child.size() - i);
        }
        return res;
    }
    private static BigInteger C(long n, long r) {
        BigInteger res = BigInteger.ONE;
        for (long i = n; i > n - r; --i) {
            res = res.multiply(BigInteger.valueOf(i));
        }
        for (long i = r; i > 1; --i) {
            res = res.divide(BigInteger.valueOf(i));
        }
        return res;
    }
    private static BigInteger P(long n, long r) {
        BigInteger res = BigInteger.ONE;
        for (long i = n; i > n - r; --i) {
            res = res.multiply(BigInteger.valueOf(i));
        }
        return res;
    }
    /*
     * 10^10 > Integer.MAX_VALUE = 2147483647 > 10^9
     * 10^19 > Long.MAX_VALUE = 9223372036854775807L > 10^18
     */
    public static void main(String[] args) {
        long S = System.currentTimeMillis();

        Scanner sc = new Scanner(System.in);
        new Main().solve(sc);
        _out.flush();

        long G = System.currentTimeMillis();
        if (elapsed) {
            _err.println((G - S) + "ms");
        }
        _err.flush();
    }
}

Submission Info

Submission Time
Task B - Tournament
User hhelibex
Language Java8 (OpenJDK 1.8.0)
Score 800
Code Size 2252 Byte
Status AC
Exec Time 540 ms
Memory 97584 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 800 / 800
Status
AC × 3
AC × 53
Set Name Test Cases
Sample s1.txt, s2.txt, s3.txt
All 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt, 40.txt, 41.txt, 42.txt, 43.txt, 44.txt, 45.txt, 46.txt, 47.txt, 48.txt, 49.txt, 50.txt, s1.txt, s2.txt, s3.txt
Case Name Status Exec Time Memory
01.txt AC 495 ms 66040 KB
02.txt AC 512 ms 63284 KB
03.txt AC 504 ms 63484 KB
04.txt AC 511 ms 65272 KB
05.txt AC 484 ms 65640 KB
06.txt AC 514 ms 64736 KB
07.txt AC 511 ms 63388 KB
08.txt AC 516 ms 63900 KB
09.txt AC 489 ms 64040 KB
10.txt AC 506 ms 65284 KB
11.txt AC 540 ms 97584 KB
12.txt AC 527 ms 80272 KB
13.txt AC 500 ms 79036 KB
14.txt AC 481 ms 72228 KB
15.txt AC 495 ms 70988 KB
16.txt AC 498 ms 70040 KB
17.txt AC 519 ms 66404 KB
18.txt AC 500 ms 64088 KB
19.txt AC 530 ms 67792 KB
20.txt AC 490 ms 63860 KB
21.txt AC 461 ms 63232 KB
22.txt AC 428 ms 64724 KB
23.txt AC 433 ms 63608 KB
24.txt AC 437 ms 65476 KB
25.txt AC 429 ms 62172 KB
26.txt AC 457 ms 64012 KB
27.txt AC 481 ms 62312 KB
28.txt AC 455 ms 62216 KB
29.txt AC 462 ms 61880 KB
30.txt AC 481 ms 63424 KB
31.txt AC 474 ms 61464 KB
32.txt AC 476 ms 61604 KB
33.txt AC 457 ms 65536 KB
34.txt AC 450 ms 64012 KB
35.txt AC 438 ms 62928 KB
36.txt AC 450 ms 62460 KB
37.txt AC 483 ms 62512 KB
38.txt AC 483 ms 63384 KB
39.txt AC 443 ms 64600 KB
40.txt AC 461 ms 67976 KB
41.txt AC 94 ms 19024 KB
42.txt AC 91 ms 21844 KB
43.txt AC 93 ms 19028 KB
44.txt AC 93 ms 20688 KB
45.txt AC 93 ms 20948 KB
46.txt AC 94 ms 21844 KB
47.txt AC 93 ms 21844 KB
48.txt AC 93 ms 21844 KB
49.txt AC 93 ms 19796 KB
50.txt AC 94 ms 21972 KB
s1.txt AC 93 ms 19156 KB
s2.txt AC 94 ms 21588 KB
s3.txt AC 93 ms 21844 KB