답안 #42605

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
42605 2018-02-28T21:39:20 Z MatheusLealV Birokracija (COCI18_birokracija) C++14
70 / 100
127 ms 35636 KB
#include <bits/stdc++.h>
#define N 200005
using namespace std;
typedef long long ll;

int n, ini[N], fim[N], tempo;

ll sum[N], qtd[N], deep[N];

vector<int> grafo[N];

void dfs(int x, int p, ll d)
{
	ini[x] = ++tempo;

	deep[x] = d, sum[ini[x]] += d, qtd[ini[x]] ++;

	for(auto v: grafo[x])
	{
		if(v == p) continue;

		dfs(v, x, d + 1);
	}

	fim[x] = tempo;
}

int main()
{
	ios::sync_with_stdio(false); cin.tie(0);

	cin>>n;

	for(int i = 2, a; i <= n; i++)
	{
		cin>>a;

		grafo[i].push_back(a);

		grafo[a].push_back(i);
	}

	dfs(1, 1, 1LL);

	for(int i = 1; i <= 2*n; i++) sum[i] += sum[i - 1], qtd[i] += qtd[i - 1];

	for(int x = 1; x <= n; x++) cout<<(ll)(sum[fim[x]] - sum[ini[x] - 1] - (deep[x] - 1)*(qtd[fim[x]] - qtd[ini[x] - 1]))<<"\n";
}
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 4984 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 5216 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 5216 KB Output is correct
2 Correct 5 ms 5216 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 5356 KB Output is correct
2 Correct 5 ms 5360 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 5360 KB Output is correct
2 Correct 6 ms 5360 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 13 ms 7016 KB Output is correct
2 Correct 14 ms 7532 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 36 ms 11132 KB Output is correct
2 Correct 32 ms 11148 KB Output is correct
3 Correct 34 ms 12440 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Runtime error 117 ms 35636 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 127 ms 35636 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 95 ms 35636 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -