Submission #1692395


Source Code Expand

#include<bits/stdc++.h>
#define N 100005
using namespace std;
int n,m,ly,s[N],b[N],vis[N],sum,tar,flag,Ans;
int to[N*2],fst[N],nxt[N*2],hz[N*2],l=1;
void biu()
{
	puts("-1");
	exit(0);
}
void link(int x,int y)
{
	to[++l]=y;nxt[l]=fst[x];fst[x]=l;
	to[++l]=x;nxt[l]=fst[y];fst[y]=l;
}
struct T
{
	int x,y;
}a[N];
T operator+(T a,T b)
{
	return (T){a.x+b.x,a.y+b.y};
}
void Dfs(int x,int y,int f)
{
	a[x].y=y;b[x]=y^1;
	vis[x]=1;sum+=y;tar+=y^1;
	for (int i=fst[x];i;i=nxt[i])
		if (to[i]!=f)
		{
			if (!vis[to[i]])
				Dfs(to[i],y^1,x);
			else flag=i;
		}
}
void Get(int x,int f)
{
	for (int i=fst[x];i;i=nxt[i])
		if (to[i]!=f&&!hz[i])
		{
			Get(to[i],x);
			a[x]=a[x]+a[to[i]];
			b[x]=b[x]+b[to[i]];
		}
}
int main()
{
	scanf("%d%d",&n,&m);
	//if (n&1) biu();
	for (int i=1;i<=m;i++)
	{
		int x,y;
		scanf("%d%d",&x,&y);
		link(x,y);
	}
	Dfs(1,1,0);
	if (flag)
	{
		int u=to[flag],v=to[flag^1];
		if (a[u].y==a[v].y)
		{
			if ((tar-sum)%2) biu();
			if (a[u].y) a[u].y+=(tar-sum)/2,a[v].y+=(tar-sum)/2;
			else a[u].y-=(tar-sum)/2,a[v].y-=(tar-sum)/2;
			Ans+=(tar-sum)/2;
		}
		else
		{
			//Ans=Get+x
			if (sum!=tar) biu();
			a[u].x++;a[v].x--;
			s[++ly]=0;
		}
		hz[flag]=hz[flag^1]=1;
	}
	else if (sum!=tar) biu();
	Get(1,0);
	for (int i=2;i<=n;i++)
	{
		a[i].y-=b[i];
		if (a[i].x) s[++ly]=a[i].x==1?a[i].y:-a[i].y;
		else Ans+=abs(a[i].y);
	}
	sort(s+1,s+ly+1);
	//x=s[ly/2]
	for (int i=1;i<=ly;i++)
		Ans+=abs(s[i]-s[(ly+1)/2]);
	printf("%d\n",Ans);
}

Submission Info

Submission Time
Task F - Namori
User miaom
Language C++14 (GCC 5.4.1)
Score 1500
Code Size 1555 Byte
Status WA
Exec Time 34 ms
Memory 8832 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:48: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:53:22: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d",&x,&y);
                      ^

Judge Result

Set Name Sample Subtask1 All
Score / Max Score 0 / 0 1500 / 1500 0 / 700
Status
AC × 4
AC × 20
AC × 57
WA × 9
Set Name Test Cases
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
Case Name Status Exec Time Memory
0_00.txt AC 2 ms 2304 KB
0_01.txt AC 2 ms 2304 KB
0_02.txt AC 2 ms 2304 KB
0_03.txt AC 2 ms 2304 KB
1_00.txt AC 2 ms 2304 KB
1_01.txt AC 31 ms 8320 KB
1_02.txt AC 26 ms 5120 KB
1_03.txt AC 26 ms 3712 KB
1_04.txt AC 29 ms 5760 KB
1_05.txt AC 28 ms 5632 KB
1_06.txt AC 29 ms 5632 KB
1_07.txt AC 28 ms 5120 KB
1_08.txt AC 30 ms 6016 KB
1_09.txt AC 24 ms 3712 KB
1_10.txt AC 25 ms 3712 KB
1_11.txt AC 26 ms 3840 KB
1_12.txt AC 27 ms 3840 KB
1_13.txt AC 23 ms 4224 KB
1_14.txt AC 23 ms 3840 KB
1_15.txt AC 27 ms 3712 KB
1_16.txt AC 23 ms 3840 KB
1_17.txt AC 26 ms 3840 KB
2_00.txt AC 2 ms 2304 KB
2_01.txt AC 33 ms 8832 KB
2_02.txt AC 29 ms 6272 KB
2_03.txt AC 22 ms 3712 KB
2_04.txt AC 31 ms 6272 KB
2_05.txt AC 34 ms 6272 KB
2_06.txt AC 31 ms 6272 KB
2_07.txt AC 31 ms 6272 KB
2_08.txt AC 32 ms 6272 KB
2_09.txt AC 24 ms 3840 KB
2_10.txt AC 25 ms 3840 KB
2_11.txt AC 26 ms 3712 KB
2_12.txt AC 26 ms 3840 KB
2_13.txt AC 24 ms 5888 KB
2_14.txt AC 23 ms 3968 KB
2_15.txt AC 26 ms 3840 KB
2_16.txt AC 22 ms 3840 KB
2_17.txt AC 26 ms 3840 KB
2_18.txt AC 2 ms 2304 KB
2_19.txt WA 26 ms 6144 KB
2_20.txt WA 22 ms 3712 KB
2_21.txt AC 32 ms 8832 KB
2_22.txt WA 27 ms 6144 KB
2_23.txt AC 28 ms 6144 KB
2_24.txt AC 29 ms 6144 KB
2_25.txt WA 27 ms 6144 KB
2_26.txt AC 28 ms 6144 KB
2_27.txt WA 24 ms 3840 KB
2_28.txt WA 25 ms 3712 KB
2_29.txt WA 25 ms 3840 KB
2_30.txt AC 26 ms 3840 KB
2_31.txt AC 24 ms 5376 KB
2_32.txt WA 26 ms 3968 KB
2_33.txt WA 26 ms 3840 KB
2_34.txt AC 22 ms 3712 KB
2_35.txt AC 26 ms 3840 KB
2_36.txt AC 22 ms 3712 KB
2_37.txt AC 22 ms 3712 KB
2_38.txt AC 22 ms 3712 KB
2_39.txt AC 22 ms 3712 KB
2_40.txt AC 23 ms 3712 KB
2_41.txt AC 22 ms 3712 KB
2_42.txt AC 22 ms 3712 KB
2_43.txt AC 22 ms 3712 KB