Submission #3747536


Source Code Expand

/*program from Wolfycz*/
#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define inf 0x7f7f7f7f
using namespace std;
typedef long long ll;
typedef unsigned int ui;
typedef unsigned long long ull;
inline char gc(){
	static char buf[1000000],*p1=buf,*p2=buf;
	return p1==p2&&(p2=(p1=buf)+fread(buf,1,1000000,stdin),p1==p2)?EOF:*p1++;
}
inline int frd(){
	int x=0,f=1;char ch=gc();
	for (;ch<'0'||ch>'9';ch=gc())	if (ch=='-')    f=-1;
	for (;ch>='0'&&ch<='9';ch=gc())	x=(x<<1)+(x<<3)+ch-'0';
	return x*f;
}
inline int read(){
	int x=0,f=1;char ch=getchar();
	for (;ch<'0'||ch>'9';ch=getchar())	if (ch=='-')	f=-1;
	for (;ch>='0'&&ch<='9';ch=getchar())	x=(x<<1)+(x<<3)+ch-'0';
	return x*f;
}
inline void print(int x){
	if (x<0)    putchar('-'),x=-x;
	if (x>9)	print(x/10);
	putchar(x%10+'0');
}
const int N=2e5;
int pre[(N<<1)+10],now[N+10],child[(N<<1)+10],val[(N<<1)+10];
int size[N+10],Msize[N+10];
int n,tot,rize,root;
ll Ans;
void join(int x,int y,int z){pre[++tot]=now[x],now[x]=tot,child[tot]=y,val[tot]=z;}
void insert(int x,int y,int z){join(x,y,z),join(y,x,z);}
void dfs(int x,int fa,int v){
	int Max=0; size[x]=1;
	for (int p=now[x],son=child[p];p;p=pre[p],son=child[p]){
		if (son==fa)	continue;
		dfs(son,x,val[p]),size[x]+=size[son];
		Max=max(Max,size[son]);
	}
	Ans+=1ll*min(size[x],n-size[x])*v*2;
	Max=max(Max,n-size[x]);
	Msize[x]=Max;
	if (Max<rize){
		rize=Max;
		root=x;
	}
}
int main(){
	n=read(),rize=inf;
	for (int i=1;i<n;i++){
		int x=read(),y=read(),z=read();
		insert(x,y,z);
	}
	dfs(1,0,0);
	int tmp=inf;
	for (int p=now[root],son=child[p];p;p=pre[p],son=child[p]){
		tmp=min(tmp,val[p]);
		if (Msize[root]==Msize[son]){
			Ans-=val[p];
			printf("%lld\n",Ans);
			return 0;
		}
	}
	printf("%lld\n",Ans-tmp);
	return 0;
}

Submission Info

Submission Time
Task D - Tree and Hamilton Path
User Wolfycz
Language C++ (GCC 5.4.1)
Score 1100
Code Size 1860 Byte
Status AC
Exec Time 26 ms
Memory 12416 KB

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 2 ms 4352 KB
sample_02.txt AC 1 ms 4352 KB
subtask_1_01.txt AC 1 ms 4352 KB
subtask_1_02.txt AC 19 ms 5632 KB
subtask_1_03.txt AC 11 ms 5120 KB
subtask_1_04.txt AC 21 ms 5760 KB
subtask_1_05.txt AC 14 ms 6528 KB
subtask_1_06.txt AC 10 ms 4992 KB
subtask_1_07.txt AC 10 ms 4992 KB
subtask_1_08.txt AC 11 ms 5120 KB
subtask_1_09.txt AC 8 ms 4864 KB
subtask_1_10.txt AC 4 ms 5248 KB
subtask_1_11.txt AC 7 ms 4864 KB
subtask_1_12.txt AC 22 ms 5760 KB
subtask_1_13.txt AC 22 ms 5760 KB
subtask_1_14.txt AC 21 ms 5760 KB
subtask_1_15.txt AC 22 ms 5760 KB
subtask_1_16.txt AC 21 ms 5760 KB
subtask_1_17.txt AC 22 ms 5760 KB
subtask_1_18.txt AC 22 ms 5760 KB
subtask_1_19.txt AC 22 ms 5760 KB
subtask_1_20.txt AC 22 ms 5760 KB
subtask_1_21.txt AC 22 ms 5760 KB
subtask_1_22.txt AC 22 ms 5760 KB
subtask_1_23.txt AC 24 ms 10112 KB
subtask_1_24.txt AC 26 ms 12032 KB
subtask_1_25.txt AC 22 ms 5760 KB
subtask_1_26.txt AC 23 ms 7552 KB
subtask_1_27.txt AC 26 ms 11520 KB
subtask_1_28.txt AC 22 ms 5888 KB
subtask_1_29.txt AC 26 ms 12416 KB
subtask_1_30.txt AC 25 ms 10752 KB
subtask_1_31.txt AC 21 ms 5760 KB
subtask_1_32.txt AC 20 ms 5760 KB
subtask_1_33.txt AC 15 ms 5376 KB
subtask_1_34.txt AC 19 ms 5760 KB