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