提出 #33189079


ソースコード 拡げる

#include<cstdio>
#include<cctype>
#include<algorithm>

#define maxn 101101

template<class T>

inline T read(){
	T r=0,f=0;
	char c;
	while(!isdigit(c=getchar()))f|=(c=='-');
	while(isdigit(c))r=(r<<1)+(r<<3)+(c^48),c=getchar();
	return f?-r:r;
}

struct E{
	int v,nxt;
	E() {}
	E(int v,int nxt):v(v),nxt(nxt) {}
}e[maxn<<1];

int n,m,rt=1,ed,s_e,head[maxn],f[maxn];

int fa[maxn],sum[maxn];

int find(int x){
	return f[x]^x?f[x]=find(f[x]):x;
}

inline void a_e(int u,int v){
	e[++s_e]=E(v,head[u]);
	head[u]=s_e;
}

void dfs(int u,int val){
	sum[u]=val;
	for(int i=head[u];i;i=e[i].nxt){
		int v=e[i].v;
		if(v==fa[u])continue;
		fa[v]=u,dfs(v,-val),sum[u]+=sum[v];
	}
}

#define GG return puts("-1"),0

int main(){
	n=read<int>();
	m=read<int>();
	if(n&1)GG;
	for(int i=1;i<=n;i++)f[i]=i;
	for(int i=1;i<=m;i++){
		int u=read<int>();
		int v=read<int>();
		int x=find(u),y=find(v);
		if(x==y){
			rt=u,ed=v;
			continue;
		}
		f[y]=x,a_e(u,v),a_e(v,u);
	}
	dfs(rt,1);
	if(n==m){
		static int len,a[maxn];
		for(int u=ed;u;u=fa[u])a[++len]=sum[u];
		if(len&1){
			if(sum[rt]&1)GG;
			for(int u=ed;u;u=fa[u])
				sum[u]-=sum[rt]>>1;
		}
		else {
			if(sum[rt])GG;
			std::sort(a+1,a+1+len);
			for(int u=ed;u;u=fa[u])
				sum[u]-=a[len>>1];
		}
	}
	else if(sum[rt])GG;
	long long ans=0;
	for(int i=1;i<=n;i++)
		ans+=abs(sum[i]);
	printf("%lld\n",ans);
	return 0;
}

提出情報

提出日時
問題 F - Namori
ユーザ wyzwyz
言語 C++ (GCC 9.2.1)
得点 2200
コード長 1366 Byte
結果 AC
実行時間 31 ms
メモリ 12864 KiB

ジャッジ結果

セット名 Sample Subtask1 All
得点 / 配点 0 / 0 1500 / 1500 700 / 700
結果
AC × 4
AC × 20
AC × 66
セット名 テストケース
Sample 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt
Subtask1 0_00.txt, 0_01.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt
All 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 2_00.txt, 2_01.txt, 2_02.txt, 2_03.txt, 2_04.txt, 2_05.txt, 2_06.txt, 2_07.txt, 2_08.txt, 2_09.txt, 2_10.txt, 2_11.txt, 2_12.txt, 2_13.txt, 2_14.txt, 2_15.txt, 2_16.txt, 2_17.txt, 2_18.txt, 2_19.txt, 2_20.txt, 2_21.txt, 2_22.txt, 2_23.txt, 2_24.txt, 2_25.txt, 2_26.txt, 2_27.txt, 2_28.txt, 2_29.txt, 2_30.txt, 2_31.txt, 2_32.txt, 2_33.txt, 2_34.txt, 2_35.txt, 2_36.txt, 2_37.txt, 2_38.txt, 2_39.txt, 2_40.txt, 2_41.txt, 2_42.txt, 2_43.txt
ケース名 結果 実行時間 メモリ
0_00.txt AC 9 ms 1516 KiB
0_01.txt AC 2 ms 1396 KiB
0_02.txt AC 1 ms 1628 KiB
0_03.txt AC 1 ms 1532 KiB
1_00.txt AC 1 ms 1524 KiB
1_01.txt AC 31 ms 12160 KiB
1_02.txt AC 18 ms 6836 KiB
1_03.txt AC 15 ms 4736 KiB
1_04.txt AC 23 ms 8112 KiB
1_05.txt AC 20 ms 7876 KiB
1_06.txt AC 21 ms 7832 KiB
1_07.txt AC 19 ms 6952 KiB
1_08.txt AC 27 ms 8440 KiB
1_09.txt AC 17 ms 4692 KiB
1_10.txt AC 19 ms 4684 KiB
1_11.txt AC 18 ms 4672 KiB
1_12.txt AC 22 ms 4688 KiB
1_13.txt AC 2 ms 1396 KiB
1_14.txt AC 25 ms 4752 KiB
1_15.txt AC 20 ms 4700 KiB
1_16.txt AC 1 ms 1492 KiB
1_17.txt AC 17 ms 4720 KiB
2_00.txt AC 1 ms 1624 KiB
2_01.txt AC 27 ms 12864 KiB
2_02.txt AC 20 ms 8840 KiB
2_03.txt AC 15 ms 5116 KiB
2_04.txt AC 26 ms 8796 KiB
2_05.txt AC 26 ms 8848 KiB
2_06.txt AC 25 ms 8792 KiB
2_07.txt AC 27 ms 8752 KiB
2_08.txt AC 29 ms 8848 KiB
2_09.txt AC 17 ms 4696 KiB
2_10.txt AC 18 ms 4656 KiB
2_11.txt AC 20 ms 4664 KiB
2_12.txt AC 18 ms 4644 KiB
2_13.txt AC 1 ms 1432 KiB
2_14.txt AC 29 ms 4896 KiB
2_15.txt AC 19 ms 4792 KiB
2_16.txt AC 1 ms 1388 KiB
2_17.txt AC 20 ms 4772 KiB
2_18.txt AC 2 ms 1536 KiB
2_19.txt AC 24 ms 8804 KiB
2_20.txt AC 14 ms 5080 KiB
2_21.txt AC 31 ms 12848 KiB
2_22.txt AC 25 ms 8760 KiB
2_23.txt AC 27 ms 8756 KiB
2_24.txt AC 26 ms 8752 KiB
2_25.txt AC 27 ms 8748 KiB
2_26.txt AC 25 ms 8792 KiB
2_27.txt AC 18 ms 4680 KiB
2_28.txt AC 19 ms 4736 KiB
2_29.txt AC 22 ms 4648 KiB
2_30.txt AC 20 ms 4680 KiB
2_31.txt AC 1 ms 1440 KiB
2_32.txt AC 18 ms 4904 KiB
2_33.txt AC 19 ms 4688 KiB
2_34.txt AC 2 ms 1392 KiB
2_35.txt AC 23 ms 4652 KiB
2_36.txt AC 16 ms 4752 KiB
2_37.txt AC 16 ms 5336 KiB
2_38.txt AC 14 ms 5008 KiB
2_39.txt AC 18 ms 4656 KiB
2_40.txt AC 14 ms 4944 KiB
2_41.txt AC 14 ms 4796 KiB
2_42.txt AC 15 ms 4948 KiB
2_43.txt AC 20 ms 4892 KiB