Submission #37361205


Source Code Expand

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1005,M=3005;
int tot=1,linkk[N],en,dep[N];
struct Edge{int y,z,nex;}e[M];
bool bfs(){
	memset(dep,-1,sizeof(dep));queue<int> q;
	dep[0]=0;q.push(0);
	while(!q.empty()){
		int x=q.front();q.pop();
		for(int i=linkk[x];i;i=e[i].nex){
			if(dep[e[i].y]>=0||!e[i].z)continue;
			dep[e[i].y]=dep[x]+1,q.push(e[i].y);
		}
	}
	return dep[en]>=0;
}
int dfs(int x,int in){
	if(x==en)return in;
	int ans=0;
	for(int i=linkk[x];i&&in;i=e[i].nex){
		int y=e[i].y,z=e[i].z;
		if(dep[y]!=dep[x]+1||!z)continue;
		int t=dfs(y,min(z,in));
		in-=t,ans+=t,e[i].z-=t,e[i^1].z+=t;
	}
	if(!ans)dep[x]=-1;
	return ans;
}
void ling(int x,int y,int z){e[++tot]=(Edge){y,z,linkk[x]};linkk[x]=tot;}
void add(int x,int y,int z){ling(x,y,z),ling(y,x,0);}
int ans,n,m,a[N],b[N];
signed main(){
	cin>>n>>m;en=2*n+1;
	for(int i=1;i<=n;i++)cin>>a[i];
	for(int i=1;i<=n;i++){
		cin>>b[i];ans+=abs(b[i]);
		add(i,i+n,a[i]+abs(b[i]));
		if(b[i]<0)add(i+n,en,-2*b[i]);
		else add(0,i,2*b[i]);
	}
	for(int i=1,x,y;i<=m;i++){
		cin>>x>>y;
		add(x+n,y,1e9),add(y+n,x,1e9);
	}
	while(bfs())ans-=dfs(0,1e9);
	cout<<ans<<'\n';
}

Submission Info

Submission Time
Task F - Sum of Abs
User houzhiyuan
Language C++ (GCC 9.2.1)
Score 900
Code Size 1213 Byte
Status AC
Exec Time 8 ms
Memory 3660 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 900 / 900
Status
AC × 3
AC × 54
Set Name Test Cases
Sample 00-sample-001.txt, 00-sample-002.txt, 00-sample-003.txt
All 00-sample-001.txt, 00-sample-002.txt, 00-sample-003.txt, 01-001.txt, 01-002.txt, 01-003.txt, 01-004.txt, 01-005.txt, 01-006.txt, 01-007.txt, 01-008.txt, 01-009.txt, 01-010.txt, 01-011.txt, 01-012.txt, 01-013.txt, 01-014.txt, 01-015.txt, 01-016.txt, 01-017.txt, 01-018.txt, 01-019.txt, 01-020.txt, 01-021.txt, 01-022.txt, 01-023.txt, 01-024.txt, 01-025.txt, 01-026.txt, 01-027.txt, 01-028.txt, 01-029.txt, 01-030.txt, 01-031.txt, 01-032.txt, 01-033.txt, 01-034.txt, 01-035.txt, 01-036.txt, 01-037.txt, 01-038.txt, 01-039.txt, 01-040.txt, 01-041.txt, 01-042.txt, 01-043.txt, 01-044.txt, 01-045.txt, 01-046.txt, 01-047.txt, 01-048.txt, 01-049.txt, 01-050.txt, 01-051.txt
Case Name Status Exec Time Memory
00-sample-001.txt AC 8 ms 3392 KiB
00-sample-002.txt AC 2 ms 3476 KiB
00-sample-003.txt AC 2 ms 3584 KiB
01-001.txt AC 2 ms 3456 KiB
01-002.txt AC 1 ms 3388 KiB
01-003.txt AC 2 ms 3476 KiB
01-004.txt AC 2 ms 3632 KiB
01-005.txt AC 2 ms 3588 KiB
01-006.txt AC 2 ms 3632 KiB
01-007.txt AC 3 ms 3596 KiB
01-008.txt AC 2 ms 3604 KiB
01-009.txt AC 2 ms 3552 KiB
01-010.txt AC 2 ms 3624 KiB
01-011.txt AC 2 ms 3600 KiB
01-012.txt AC 3 ms 3636 KiB
01-013.txt AC 2 ms 3608 KiB
01-014.txt AC 2 ms 3424 KiB
01-015.txt AC 2 ms 3492 KiB
01-016.txt AC 2 ms 3616 KiB
01-017.txt AC 2 ms 3648 KiB
01-018.txt AC 2 ms 3588 KiB
01-019.txt AC 2 ms 3460 KiB
01-020.txt AC 2 ms 3428 KiB
01-021.txt AC 2 ms 3600 KiB
01-022.txt AC 2 ms 3608 KiB
01-023.txt AC 4 ms 3640 KiB
01-024.txt AC 2 ms 3496 KiB
01-025.txt AC 2 ms 3460 KiB
01-026.txt AC 3 ms 3460 KiB
01-027.txt AC 3 ms 3568 KiB
01-028.txt AC 3 ms 3444 KiB
01-029.txt AC 3 ms 3564 KiB
01-030.txt AC 2 ms 3572 KiB
01-031.txt AC 2 ms 3596 KiB
01-032.txt AC 2 ms 3516 KiB
01-033.txt AC 2 ms 3632 KiB
01-034.txt AC 2 ms 3616 KiB
01-035.txt AC 1 ms 3516 KiB
01-036.txt AC 2 ms 3620 KiB
01-037.txt AC 3 ms 3660 KiB
01-038.txt AC 3 ms 3632 KiB
01-039.txt AC 2 ms 3632 KiB
01-040.txt AC 3 ms 3636 KiB
01-041.txt AC 2 ms 3468 KiB
01-042.txt AC 4 ms 3512 KiB
01-043.txt AC 3 ms 3576 KiB
01-044.txt AC 3 ms 3468 KiB
01-045.txt AC 4 ms 3532 KiB
01-046.txt AC 3 ms 3524 KiB
01-047.txt AC 2 ms 3540 KiB
01-048.txt AC 3 ms 3480 KiB
01-049.txt AC 3 ms 3480 KiB
01-050.txt AC 4 ms 3652 KiB
01-051.txt AC 3 ms 3656 KiB