Submission #55848640
Source Code Expand
// LUOGU_RID: 167598410
#include<iostream>
#include<vector>
#include<queue>
#include<cstring>
#define int long long
using namespace std;
const int N=2e5+5,inf=0x3f3f3f3f3f3f3f3f;
struct node{int x,v,id;};
vector<node> v[N];
int sum;
void add(int x,int y,int val){
int sti=v[x].size(),edi=v[y].size();
if(val<0){
sum-=val;
return;
}
v[x].push_back({y,val,edi});
v[y].push_back({x,0,sti});
}
int n,m,s,t,dep[N],p[N];
bool bfs(){
queue<int> q;
memset(dep,-1,sizeof(dep));
memset(p,0,sizeof(p));
q.push(s),dep[s]=0;
while(!q.empty()){
int top=q.front();q.pop();
for(node i:v[top]){
if(dep[i.x]==-1&&i.v){
dep[i.x]=dep[top]+1;
q.push(i.x);
}
}
}
return dep[t]!=-1;
}
int dfs(int x,int flow){
int tmp=flow;
if(x==t||!flow){
return flow;
}
for(int id=p[x];id<v[x].size();id++){
p[x]=id;
node &i=v[x][id];
if(dep[x]+1==dep[i.x]&&i.v>0){
int t=dfs(i.x,min(i.v,tmp));
if(!t){
dep[i.x]=-1;
}
else{
i.v-=t;
v[i.x][i.id].v+=t;
tmp-=t;
}
}
}
return flow-tmp;
}
int dinic(){
int ans=0;
while(bfs()){
ans+=dfs(s,inf);
}
return ans;
}
int a[N],b[N];
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin>>n>>m,t=N-1;
for(int i=1;i<=n;i++){
cin>>a[i];
sum+=a[i];
}
for(int i=1;i<=n;i++){
cin>>b[i];
}
for(int i=1;i<=n;i++){
add(s,i,a[i]+b[i]);
add(i+n,t,a[i]-b[i]);
add(i,i+n,inf);
}
for(int i=1,x,y;i<=m;i++){
cin>>x>>y;
add(x,y+n,inf);
add(y,x+n,inf);
}
cout<<sum-dinic()<<'\n';
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | F - Sum of Abs |
| User | do_it_tomorrow |
| Language | C++ 17 (gcc 12.2) |
| Score | 900 |
| Code Size | 1943 Byte |
| Status | AC |
| Exec Time | 8 ms |
| Memory | 11552 KiB |
Compile Error
Main.cpp: In function ‘long long int dfs(long long int, long long int)’:
Main.cpp:43:23: warning: comparison of integer expressions of different signedness: ‘long long int’ and ‘std::vector<node>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
43 | for(int id=p[x];id<v[x].size();id++){
| ~~^~~~~~~~~~~~
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 | 5 ms | 11312 KiB |
| 00-sample-002.txt | AC | 5 ms | 11324 KiB |
| 00-sample-003.txt | AC | 4 ms | 11320 KiB |
| 01-001.txt | AC | 4 ms | 11324 KiB |
| 01-002.txt | AC | 4 ms | 11324 KiB |
| 01-003.txt | AC | 5 ms | 11320 KiB |
| 01-004.txt | AC | 4 ms | 11308 KiB |
| 01-005.txt | AC | 5 ms | 11344 KiB |
| 01-006.txt | AC | 4 ms | 11240 KiB |
| 01-007.txt | AC | 5 ms | 11400 KiB |
| 01-008.txt | AC | 6 ms | 11396 KiB |
| 01-009.txt | AC | 5 ms | 11524 KiB |
| 01-010.txt | AC | 5 ms | 11456 KiB |
| 01-011.txt | AC | 5 ms | 11332 KiB |
| 01-012.txt | AC | 5 ms | 11348 KiB |
| 01-013.txt | AC | 5 ms | 11312 KiB |
| 01-014.txt | AC | 5 ms | 11404 KiB |
| 01-015.txt | AC | 6 ms | 11268 KiB |
| 01-016.txt | AC | 5 ms | 11324 KiB |
| 01-017.txt | AC | 6 ms | 11320 KiB |
| 01-018.txt | AC | 6 ms | 11328 KiB |
| 01-019.txt | AC | 5 ms | 11260 KiB |
| 01-020.txt | AC | 5 ms | 11396 KiB |
| 01-021.txt | AC | 6 ms | 11456 KiB |
| 01-022.txt | AC | 5 ms | 11384 KiB |
| 01-023.txt | AC | 7 ms | 11476 KiB |
| 01-024.txt | AC | 6 ms | 11424 KiB |
| 01-025.txt | AC | 7 ms | 11416 KiB |
| 01-026.txt | AC | 7 ms | 11280 KiB |
| 01-027.txt | AC | 8 ms | 11360 KiB |
| 01-028.txt | AC | 6 ms | 11548 KiB |
| 01-029.txt | AC | 6 ms | 11348 KiB |
| 01-030.txt | AC | 6 ms | 11420 KiB |
| 01-031.txt | AC | 6 ms | 11392 KiB |
| 01-032.txt | AC | 6 ms | 11364 KiB |
| 01-033.txt | AC | 5 ms | 11348 KiB |
| 01-034.txt | AC | 4 ms | 11348 KiB |
| 01-035.txt | AC | 5 ms | 11272 KiB |
| 01-036.txt | AC | 5 ms | 11276 KiB |
| 01-037.txt | AC | 6 ms | 11420 KiB |
| 01-038.txt | AC | 7 ms | 11552 KiB |
| 01-039.txt | AC | 7 ms | 11420 KiB |
| 01-040.txt | AC | 6 ms | 11428 KiB |
| 01-041.txt | AC | 6 ms | 11416 KiB |
| 01-042.txt | AC | 7 ms | 11488 KiB |
| 01-043.txt | AC | 6 ms | 11360 KiB |
| 01-044.txt | AC | 5 ms | 11416 KiB |
| 01-045.txt | AC | 6 ms | 11436 KiB |
| 01-046.txt | AC | 6 ms | 11416 KiB |
| 01-047.txt | AC | 5 ms | 11372 KiB |
| 01-048.txt | AC | 5 ms | 11292 KiB |
| 01-049.txt | AC | 6 ms | 11412 KiB |
| 01-050.txt | AC | 5 ms | 11428 KiB |
| 01-051.txt | AC | 5 ms | 11364 KiB |