Submission #2168838
Source Code Expand
#include<cstdio>
#include<algorithm>
#include<cstring>
#define ll long long
struct r{
int u,v,w;
}e[400050];
int w[400050],fa[200050],cnt,n,m;
ll ans;
int get_fa(int u){return fa[u]==u ? u:fa[u]=get_fa(fa[u]);}
bool cmp(r a,r b){return a.w<b.w;}
int main(){
scanf("%d%d",&n,&m);
memset(w,127,sizeof w);
for (int i=1;i<=m;i++){
scanf("%d%d%d",&e[i].u,&e[i].v,&e[i].w);
w[e[i].u]=std::min(w[e[i].u],e[i].w+1);
w[e[i].v]=std::min(w[e[i].v],e[i].w+2);
}
for (int i=0;i<n;i++) fa[i]=i;
for (int i=1;i<(n<<1);i++)
w[i]=std::min(w[i],w[i-1]+2);
for (int i=0;i<n;i++)
e[++m]=(r){i,(i+1)%n,std::min(w[i],w[i+n])};
std::sort(e+1,e+m+1,cmp);
int u,v;
for (int i=1;i<=m;i++){
if ((u=get_fa(e[i].u))==(v=get_fa(e[i].v))) continue;
fa[v]=u;
ans+=1ll*e[i].w;
cnt++;
if (cnt==n-1) {
printf("%lld",ans);
return 0;
}
}
}
Submission Info
Submission Time
2018-03-07 14:03:05+0900
Task
G - Zigzag MST
User
vjudge2
Language
C++14 (GCC 5.4.1)
Score
1300
Code Size
852 Byte
Status
AC
Exec Time
117 ms
Memory
7168 KB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:13:21: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d",&n,&m);
^
./Main.cpp:16:42: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d%d",&e[i].u,&e[i].v,&e[i].w);
^
Judge Result
Set Name
sample
all
Score / Max Score
0 / 0
1300 / 1300
Status
Set Name
Test Cases
sample
sample-01.txt, sample-02.txt, sample-03.txt
all
sample-01.txt, sample-02.txt, sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt, sample-01.txt, sample-02.txt, sample-03.txt
Case Name
Status
Exec Time
Memory
01-01.txt
AC
2 ms
3456 KB
01-02.txt
AC
65 ms
5504 KB
01-03.txt
AC
97 ms
7168 KB
01-04.txt
AC
31 ms
6272 KB
01-05.txt
AC
20 ms
6272 KB
01-06.txt
AC
25 ms
6272 KB
01-07.txt
AC
20 ms
6272 KB
01-08.txt
AC
19 ms
6272 KB
01-09.txt
AC
22 ms
6272 KB
01-10.txt
AC
55 ms
6272 KB
01-11.txt
AC
82 ms
5888 KB
01-12.txt
AC
93 ms
7168 KB
01-13.txt
AC
93 ms
7168 KB
01-14.txt
AC
93 ms
7168 KB
01-15.txt
AC
96 ms
7168 KB
01-16.txt
AC
93 ms
7168 KB
01-17.txt
AC
93 ms
7168 KB
01-18.txt
AC
79 ms
7168 KB
01-19.txt
AC
20 ms
6272 KB
01-20.txt
AC
18 ms
6272 KB
01-21.txt
AC
36 ms
6272 KB
01-22.txt
AC
82 ms
7168 KB
01-23.txt
AC
81 ms
7168 KB
01-24.txt
AC
22 ms
6272 KB
01-25.txt
AC
117 ms
7168 KB
01-26.txt
AC
31 ms
6272 KB
01-27.txt
AC
26 ms
6272 KB
01-28.txt
AC
64 ms
6272 KB
01-29.txt
AC
81 ms
6016 KB
01-30.txt
AC
93 ms
7168 KB
sample-01.txt
AC
2 ms
3456 KB
sample-02.txt
AC
2 ms
3456 KB
sample-03.txt
AC
2 ms
3456 KB