Submission #6355865


Source Code Expand

/*
  mail: mleautomaton@foxmail.com
  author: MLEAutoMaton
  This Code is made by MLEAutoMaton
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#include<algorithm>
#include<queue>
#include<set>
#include<map>
#include<iostream>
using namespace std;
#define ll long long
#define re register
#define file(a) freopen(a".in","r",stdin);freopen(a".out","w",stdout)
inline int gi(){
	int f=1,sum=0;char ch=getchar();
	while(ch>'9' || ch<'0'){if(ch=='-')f=-1;ch=getchar();}
	while(ch>='0' && ch<='9'){sum=(sum<<3)+(sum<<1)+ch-'0';ch=getchar();}
	return f*sum;
}
const int N=400010;
struct node{int u,v,w;}e[N<<1];
bool operator<(node a,node b){return a.w<b.w;}
int f[N];
int find(int x){if(f[x]!=x)f[x]=find(f[x]);return f[x];}
int a[N],n,m,cnt;
int main(){
	n=gi();m=gi();memset(a,63,sizeof(a));
	for(int i=1;i<=m;i++){
		int x=gi()+1,y=gi()+1,z=gi();
		a[x]=min(a[x],z+1);
		a[y]=min(a[y],z+2);
		e[++cnt]=(node){x,y,z};
	}
	for(int i=1;i<=n;i++)a[i]=min(a[i],a[(i-2+n)%n+1]+2);
	for(int i=1;i<=n;i++)a[i]=min(a[i],a[(i-2+n)%n+1]+2);	
	for(int i=1;i<n;i++)e[++cnt]=(node){i,i+1,a[i]};
	e[++cnt]=(node){n,1,a[n]};
	sort(e+1,e+cnt+1);for(int i=1;i<=n;i++)f[i]=i;
	ll ans=0;
	for(int i=1;i<=cnt;i++){
		int u=find(e[i].u),v=find(e[i].v);
		if(u!=v){
			ans+=e[i].w;
			f[v]=u;
		}
	}
	printf("%lld\n",ans);
	return 0;
}

Submission Info

Submission Time
Task G - Zigzag MST
User vjudge1
Language C++14 (GCC 5.4.1)
Score 1300
Code Size 1338 Byte
Status AC
Exec Time 72 ms
Memory 8448 KB

Judge Result

Set Name sample all
Score / Max Score 0 / 0 1300 / 1300
Status
AC × 3
AC × 36
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 3840 KB
01-02.txt AC 40 ms 5888 KB
01-03.txt AC 69 ms 8448 KB
01-04.txt AC 19 ms 6400 KB
01-05.txt AC 12 ms 6400 KB
01-06.txt AC 15 ms 6400 KB
01-07.txt AC 13 ms 6400 KB
01-08.txt AC 13 ms 6400 KB
01-09.txt AC 16 ms 6400 KB
01-10.txt AC 40 ms 8448 KB
01-11.txt AC 59 ms 8320 KB
01-12.txt AC 67 ms 8448 KB
01-13.txt AC 67 ms 8448 KB
01-14.txt AC 67 ms 8448 KB
01-15.txt AC 69 ms 8448 KB
01-16.txt AC 67 ms 8448 KB
01-17.txt AC 68 ms 8448 KB
01-18.txt AC 51 ms 8448 KB
01-19.txt AC 13 ms 6400 KB
01-20.txt AC 13 ms 6400 KB
01-21.txt AC 25 ms 8448 KB
01-22.txt AC 51 ms 8448 KB
01-23.txt AC 51 ms 8448 KB
01-24.txt AC 13 ms 6400 KB
01-25.txt AC 72 ms 8448 KB
01-26.txt AC 18 ms 6400 KB
01-27.txt AC 18 ms 6400 KB
01-28.txt AC 44 ms 8448 KB
01-29.txt AC 55 ms 8448 KB
01-30.txt AC 64 ms 8448 KB
sample-01.txt AC 2 ms 3840 KB
sample-02.txt AC 2 ms 3840 KB
sample-03.txt AC 2 ms 3840 KB