Submission #1676496


Source Code Expand

#define  _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <algorithm>
#include <utility>
#include <functional>
#include <cstring>
#include <queue>
#include <stack>
#include <math.h>
#include <iterator>
#include <vector>
#include <string>
#include <set>
#include <math.h>
#include <iostream>
#include <random>
#include<map>
#include <iomanip>
#include <time.h>
#include <stdlib.h>
#include <list>
#include <typeinfo>
#include <list>
#include <set>
#include <cassert>
#include<fstream>
#include <unordered_map>
#include <cstdlib>
using namespace std;
#define Ma_PI 3.141592653589793
#define eps 0.00000000000000000000000001
#define LONG_INF 3000000000000000000
#define GOLD 1.61803398874989484820458
#define MAX_MOD 1000000007
#define REP(i,n) for(long long i = 0;i < n;++i)                                                                             
#define seg_size 524288
vector<long long> vertexs[200000];
long long dp[200000] = {};
int n;
long long solve(long long now, long long back) {
	long long cnt = 0;
	long long minnest = 0;
	for (int i = 0;i < vertexs[now].size();++i) {
		if (vertexs[now][i] != back) {
			long long as = solve(vertexs[now][i], now);
			minnest = max(minnest, as);
			cnt += as;
		}
	}
	minnest = max(minnest, n - 1 - cnt);
	dp[now] = minnest;
	cnt++;
	return cnt;
}
int main() {
	cin >> n;
	REP(i, n-1) {
		long long a;
		cin >> a;
		vertexs[a].push_back(i + 1);
		vertexs[i + 1].push_back(a);
	}
	solve(0, -1);
	for (int i = 0;i < n;++i) {
		cout << dp[i] << endl;
	}
	return 0;
}

Submission Info

Submission Time
Task C - 高橋王国の分割統治
User kotamanegi
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1581 Byte
Status AC
Exec Time 211 ms
Memory 17280 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 3 ms 4992 KB
sample_02.txt AC 3 ms 4992 KB
subtask1_01.txt AC 3 ms 4992 KB
subtask1_02.txt AC 3 ms 4992 KB
subtask1_03.txt AC 3 ms 4992 KB
subtask1_04.txt AC 3 ms 4992 KB
subtask1_05.txt AC 4 ms 4992 KB
subtask1_06.txt AC 5 ms 4992 KB
subtask1_07.txt AC 5 ms 4992 KB
subtask1_08.txt AC 5 ms 4992 KB
subtask1_09.txt AC 5 ms 4992 KB
subtask2_01.txt AC 149 ms 8704 KB
subtask2_02.txt AC 185 ms 9600 KB
subtask2_03.txt AC 202 ms 9984 KB
subtask2_04.txt AC 211 ms 9984 KB
subtask2_05.txt AC 188 ms 10228 KB
subtask2_06.txt AC 181 ms 10348 KB
subtask2_07.txt AC 203 ms 17280 KB