Submission #7824514
Source Code Expand
#include<bits/stdc++.h>
using namespace std;
#define il inline
#define int long long
#define gc getchar()
#define t(i) edge[i].to
#define w(i) edge[i].wei
#define ri register int
#define rb register bool
#define rc register char
#define lowbit(x) (x&(-x))
#define rp(i,x,y) for(ri i=x;i<=y;++i)
#define my(i,x,y) for(ri i=x;i>=y;--i)
#define e(i,x) for(ri i=head[x];i;i=edge[i].nxt)
const int N=1e5+10,inf=1e9;
int head[N],ed_cnt,n,sz[N],mxsz[N],rt,d[N],as;
bool flg;
struct ed{int to,nxt,wei;}edge[N<<1];
il int read()
{
rc ch=gc;ri x=0;rb y=1;
while(ch!='-' && (ch>'9' || ch<'0'))ch=gc;
if(ch=='-')ch=gc,y=0;
while(ch>='0' && ch<='9')x=(x<<1)+(x<<3)+(ch^'0'),ch=gc;
return y?x:-x;
}
il void ad(ri x,ri y,ri z)
{edge[++ed_cnt]=(ed){x,head[y],z};head[y]=ed_cnt;edge[++ed_cnt]=(ed){y,head[x],z};head[x]=ed_cnt;}
void dfs(ri nw)
{
sz[nw]=1;mxsz[nw]=0;
e(i,nw)if(!sz[t(i)])d[t(i)]=w(i),dfs(t(i)),mxsz[nw]=max(mxsz[nw],sz[t(i)]),sz[nw]+=sz[t(i)];
mxsz[nw]=max(mxsz[nw],n-sz[nw]);
if(mxsz[nw]<mxsz[rt])rt=nw;
}
signed main()
{
//freopen("king.in","r",stdin);freopen("king.out","w",stdout);
n=read();rp(i,1,n-1){ri x=read(),y=read(),z=read();ad(x,y,z);}mxsz[0]=inf;dfs(1);
rp(i,2,n){ri l=sz[i],r=n-sz[i];if(l==r)flg=1,as+=(2ll*l-1)*d[i];else as+=2ll*min(l,r)*d[i];}
if(!flg){ri tmp=inf;e(i,rt)tmp=min(tmp,w(i));as-=tmp;}
printf("%lld\n",as);
return 0;
}
Submission Info
Submission Time |
|
Task |
D - Tree and Hamilton Path |
User |
luogu_bot4 |
Language |
C++14 (GCC 5.4.1) |
Score |
1100 |
Code Size |
1366 Byte |
Status |
AC |
Exec Time |
28 ms |
Memory |
10752 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
1100 / 1100 |
Status |
|
|
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 |
2304 KB |
sample_02.txt |
AC |
2 ms |
2304 KB |
subtask_1_01.txt |
AC |
2 ms |
2304 KB |
subtask_1_02.txt |
AC |
23 ms |
7808 KB |
subtask_1_03.txt |
AC |
14 ms |
7168 KB |
subtask_1_04.txt |
AC |
25 ms |
8064 KB |
subtask_1_05.txt |
AC |
15 ms |
7808 KB |
subtask_1_06.txt |
AC |
13 ms |
7040 KB |
subtask_1_07.txt |
AC |
12 ms |
4992 KB |
subtask_1_08.txt |
AC |
14 ms |
7168 KB |
subtask_1_09.txt |
AC |
9 ms |
4352 KB |
subtask_1_10.txt |
AC |
4 ms |
3328 KB |
subtask_1_11.txt |
AC |
8 ms |
4224 KB |
subtask_1_12.txt |
AC |
26 ms |
8064 KB |
subtask_1_13.txt |
AC |
25 ms |
8064 KB |
subtask_1_14.txt |
AC |
26 ms |
8064 KB |
subtask_1_15.txt |
AC |
26 ms |
8064 KB |
subtask_1_16.txt |
AC |
27 ms |
8064 KB |
subtask_1_17.txt |
AC |
26 ms |
8064 KB |
subtask_1_18.txt |
AC |
27 ms |
8064 KB |
subtask_1_19.txt |
AC |
27 ms |
8064 KB |
subtask_1_20.txt |
AC |
26 ms |
8064 KB |
subtask_1_21.txt |
AC |
26 ms |
8064 KB |
subtask_1_22.txt |
AC |
26 ms |
8064 KB |
subtask_1_23.txt |
AC |
28 ms |
9856 KB |
subtask_1_24.txt |
AC |
28 ms |
10624 KB |
subtask_1_25.txt |
AC |
26 ms |
8064 KB |
subtask_1_26.txt |
AC |
27 ms |
8704 KB |
subtask_1_27.txt |
AC |
28 ms |
10368 KB |
subtask_1_28.txt |
AC |
26 ms |
8064 KB |
subtask_1_29.txt |
AC |
28 ms |
10752 KB |
subtask_1_30.txt |
AC |
28 ms |
10112 KB |
subtask_1_31.txt |
AC |
24 ms |
8064 KB |
subtask_1_32.txt |
AC |
24 ms |
8064 KB |
subtask_1_33.txt |
AC |
17 ms |
7552 KB |
subtask_1_34.txt |
AC |
21 ms |
8064 KB |