Submission #1521075


Source Code Expand

#include<bits/stdc++.h>
using namespace std;

int read()
{
	int ans=0;
	char ch=getchar();
	for(;(ch<'0' || ch>'9') && ch!='-';ch=getchar());
	bool flag=0;
	if(ch=='-')flag=1,ch=getchar();
	for(;ch>='0' && ch<='9';ch=getchar())ans=ans*10+ch-'0';
	if(flag)ans=-ans;
	return ans;
}

long long rell()
{
	long long ans=0;
	char ch=getchar();
	for(;(ch<'0' || ch>'9') && ch!='-';ch=getchar());
	bool flag=0;
	if(ch=='-')flag=1,ch=getchar();
	for(;ch>='0' && ch<='9';ch=getchar())ans=ans*10ll+(long long)(ch-'0');
	if(flag)ans=-ans;
	return ans;
}

void writ(int n)
{
	char ch[25];
	int m=0;
	if(n<0)putchar('-'),n=-n;
	if(n==0)
	{
		putchar('0');
		return;
	}
	for(;n;n/=10)ch[m++]=n%10ll+'0';
	for(;m;)putchar(ch[--m]);
}

void wrll(long long n)
{
	char ch[25];
	int m=0;
	if(n<0)putchar('-'),n=-n;
	if(n==0)
	{
		putchar('0');
		return;
	}
	for(;n;n/=10ll)ch[m++]=n%10ll+'0';
	for(;m;)putchar(ch[--m]);
}
const int M=1<<18,big=0x3f3f3f3f;
int st[M],pv[M],p1[M],tot,f[M],size[M];
long long pg[M],mi=big;

void side(int u,int v,int k)
{
	pv[tot]=v;
	pg[tot]=k;
	p1[tot]=st[u];
	st[u]=tot++;
}

void ges(int fa,int u)
{
	//printf("ges %d %d\n",fa,u);
	size[u]=1;
	for(int i=st[u];~i;i=p1[i])if(pv[i]!=fa && f[pv[i]])
	{
		ges(u,pv[i]);
		size[u]+=size[pv[i]];
	}
}

int fi(int fa,int u,int n)
{
	for(int i=st[u];~i;i=p1[i])if(pv[i]!=fa && f[pv[i]])
	{
		int k=fi(u,pv[i],n);
		if(~k)return k;
	}
	if(size[u]>n/2)return u;else return -1;
}

long long query(int fa,int u,long long de)
{
	long long ans=de+de;
	if(de)mi=min(mi,de);
	for(int i=st[u];~i;i=p1[i])if(pv[i]!=fa && f[pv[i]])
	{
		ans+=query(u,pv[i],de+pg[i]);
	}
	return ans;
}

long long work(int u)
{
	//printf("work %d\n",u);
	ges(-1,u);
	//puts("RA");
	u=fi(-1,u,size[u]);
	//puts("RA");
	long long ans=query(-1,u,0);
	//printf("work %d\n",(int)ans);
	/*f[u]=0;
	for(int i=st[u];~i;i=p1[i])if(f[pv[i]])
	{
		ans+=work(pv[i]);
	}*/
	return ans;
}

int main()
{
	int n=read();
	if(n==1)
	{
		puts("0");
		return 0;
	}
	tot=0;
	memset(st,-1,sizeof(st));
	for(int i=1;i<n;i++)
	{
		int u=read()-1,v=read()-1,k=read();
		side(u,v,k);
		side(v,u,k);
		//mi=min(mi,k);
	}
	/*for(int i=0;i<n;i++)
	{
		printf("i=%d st[i]=%d\n",i,st[i]);
	}*/
	memset(f,1,sizeof(f));
	wrll(work(0)-(long long)mi);
	puts("");
	return 0;
}

Submission Info

Submission Time
Task D - Tree and Hamilton Path
User bx2k
Language C++14 (GCC 5.4.1)
Score 0
Code Size 2409 Byte
Status WA
Exec Time 36 ms
Memory 10880 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 1100
Status
AC × 1
WA × 1
AC × 31
WA × 7
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 5376 KB
sample_02.txt WA 2 ms 5376 KB
subtask_1_01.txt AC 2 ms 5376 KB
subtask_1_02.txt AC 26 ms 6784 KB
subtask_1_03.txt WA 14 ms 6144 KB
subtask_1_04.txt AC 27 ms 6912 KB
subtask_1_05.txt WA 18 ms 7040 KB
subtask_1_06.txt AC 12 ms 6016 KB
subtask_1_07.txt AC 13 ms 6016 KB
subtask_1_08.txt AC 15 ms 6144 KB
subtask_1_09.txt AC 11 ms 5888 KB
subtask_1_10.txt AC 5 ms 6016 KB
subtask_1_11.txt AC 9 ms 5888 KB
subtask_1_12.txt AC 29 ms 6912 KB
subtask_1_13.txt WA 29 ms 6912 KB
subtask_1_14.txt AC 30 ms 6912 KB
subtask_1_15.txt AC 28 ms 6912 KB
subtask_1_16.txt AC 29 ms 6912 KB
subtask_1_17.txt AC 28 ms 6912 KB
subtask_1_18.txt AC 29 ms 6912 KB
subtask_1_19.txt WA 29 ms 6912 KB
subtask_1_20.txt AC 29 ms 6912 KB
subtask_1_21.txt AC 29 ms 6912 KB
subtask_1_22.txt WA 29 ms 7040 KB
subtask_1_23.txt AC 33 ms 9600 KB
subtask_1_24.txt AC 34 ms 10752 KB
subtask_1_25.txt AC 30 ms 6912 KB
subtask_1_26.txt AC 30 ms 7936 KB
subtask_1_27.txt AC 36 ms 10368 KB
subtask_1_28.txt AC 29 ms 7040 KB
subtask_1_29.txt AC 35 ms 10880 KB
subtask_1_30.txt AC 35 ms 9984 KB
subtask_1_31.txt AC 25 ms 6912 KB
subtask_1_32.txt AC 26 ms 6912 KB
subtask_1_33.txt AC 16 ms 6528 KB
subtask_1_34.txt AC 21 ms 6912 KB