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&∈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 |
|
|
| 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 |