Submission #1694265


Source Code Expand

#include <cstdio>
#include <algorithm>
int head[100001], next[199999], to[199999], len[199999], N, E, q[100001], fa[100001], fe[100001], size[100001], mxson[100001];
long long O;
int main()
{
	scanf("%d", &N);
	for (int i = 1, u, v, l; i < N; i++)
	{
		scanf("%d%d%d", &u, &v, &l);
		next[++E] = head[u], to[E] = v, len[E] = l, head[u] = E;
		next[++E] = head[v], to[E] = u, len[E] = l, head[v] = E;
	}
	int H = 0, T = 1, u;
	q[1] = 1;
	while (H < T)
		for (int e = head[u = q[++H]]; e; e = next[e])
			if (to[e] != fa[u])
			{
				fa[q[++T] = to[e]] = u;
				fe[to[e]] = e;
			}
	for (int i = 1; i <= N; i++)
		size[i] = 1;
	for (int i = N; i > 1; i--)
	{
		size[fa[q[i]]] += size[q[i]];
		mxson[fa[q[i]]] = std::max(mxson[fa[q[i]]], size[q[i]]);
	}
	for (int i = 2; i <= N; i++)
		O += (long long)std::min(size[i], N - size[i]) * len[fe[i]];
	O <<= 1;
	for (int i = 2; i <= N; i++)
		if (size[i] << 1 > N && mxson[i] << 1 < N)
		{
			int XA = 1000000000;
			for (int e = head[i]; e; e = next[e])
				XA = std::min(XA, len[e]);
			printf("%lld\n", O - XA);
			return 0;
		}
	for (int i = 2; i <= N; i++)
		if (size[i] << 1 == N)
		{
			printf("%lld\n", O - len[fe[i]]);
			return 0;
		}
	return 0;
}

Submission Info

Submission Time
Task D - Tree and Hamilton Path
User NiroBC
Language C++14 (GCC 5.4.1)
Score 1100
Code Size 1250 Byte
Status AC
Exec Time 34 ms
Memory 4864 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:7:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &N);
                 ^
./Main.cpp:10:30: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d%d", &u, &v, &l);
                              ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 1100 / 1100
Status
AC × 2
AC × 38
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
All sample_01.txt, sample_02.txt, sample_01.txt, sample_02.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt, subtask_1_30.txt, subtask_1_31.txt, subtask_1_32.txt, subtask_1_33.txt, subtask_1_34.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 2176 KB
sample_02.txt AC 1 ms 2176 KB
subtask_1_01.txt AC 1 ms 2176 KB
subtask_1_02.txt AC 27 ms 4480 KB
subtask_1_03.txt AC 15 ms 3456 KB
subtask_1_04.txt AC 29 ms 4736 KB
subtask_1_05.txt AC 17 ms 3584 KB
subtask_1_06.txt AC 14 ms 3328 KB
subtask_1_07.txt AC 13 ms 3328 KB
subtask_1_08.txt AC 16 ms 3456 KB
subtask_1_09.txt AC 10 ms 3072 KB
subtask_1_10.txt AC 4 ms 2560 KB
subtask_1_11.txt AC 10 ms 3072 KB
subtask_1_12.txt AC 31 ms 4864 KB
subtask_1_13.txt AC 31 ms 4864 KB
subtask_1_14.txt AC 31 ms 4864 KB
subtask_1_15.txt AC 31 ms 4864 KB
subtask_1_16.txt AC 32 ms 4864 KB
subtask_1_17.txt AC 31 ms 4864 KB
subtask_1_18.txt AC 30 ms 4864 KB
subtask_1_19.txt AC 31 ms 4864 KB
subtask_1_20.txt AC 31 ms 4864 KB
subtask_1_21.txt AC 31 ms 4864 KB
subtask_1_22.txt AC 30 ms 4864 KB
subtask_1_23.txt AC 31 ms 4864 KB
subtask_1_24.txt AC 32 ms 4864 KB
subtask_1_25.txt AC 31 ms 4864 KB
subtask_1_26.txt AC 31 ms 4864 KB
subtask_1_27.txt AC 34 ms 4864 KB
subtask_1_28.txt AC 31 ms 4864 KB
subtask_1_29.txt AC 32 ms 4864 KB
subtask_1_30.txt AC 32 ms 4864 KB
subtask_1_31.txt AC 31 ms 4864 KB
subtask_1_32.txt AC 32 ms 4864 KB
subtask_1_33.txt AC 22 ms 3712 KB
subtask_1_34.txt AC 30 ms 4480 KB