Submission #3012272


Source Code Expand

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<stack>
#include<queue>
#include<vector>
#include<algorithm>
#include<string>
#include<iostream>
#include<set>
#include<map>
#include<bitset>

using namespace std;
typedef long long ll;
#define i_7 1000000007
#define i_5 1000000005

ll mod(ll a){
    ll c=a%i_7;
    if(c>=0)return c;
    else return c+i_7;
}
typedef pair<int,int> i_i;
typedef pair<ll,ll> l_l;
ll inf=1000000000000;/*10^12*/
#define rep(i,l,r) for(ll i=l;i<=r;i++)
ll max(ll a,ll b){if(a<b)return b;else return a;}
ll min(ll a,ll b){if(a>b)return b;else return a;}


//////////////////////////////////////

int main(){
    int n;cin>>n;
    int a[3*n];rep(i,0,3*n-1)cin>>a[i];
    priority_queue<ll,vector<ll>,greater<ll>>q;
    ll dp[2][3*n];memset(dp,0,sizeof(dp));
    ll sum=0;
    rep(i,0,n-1){
        sum+=a[i];
        q.push(a[i]);
    }
    dp[0][n-1]=sum;
    rep(i,n,2*n-1){
        sum+=a[i];
        q.push(a[i]);
        ll t=q.top();q.pop();
        sum-=t;
        dp[0][i]=sum;
    }
    sum=0;
    priority_queue<ll>p;
    for(int i=3*n-1;i>=2*n;i--){
        sum+=a[i];
        p.push(a[i]);
    }
    dp[1][2*n]=sum;
    for(int i=2*n-1;i>=n;i--){
        sum+=a[i];
        p.push(a[i]);
        ll t=p.top();p.pop();
        sum-=t;
        dp[1][i]=sum;
    }
    ll ans=dp[0][n-1]-dp[1][n];
    rep(i,n,2*n-1){
        ans=max(ans,dp[0][i]-dp[1][i+1]);
    }
    
 /*   rep(i,0,1){
        rep(j,0,3*n-1){
            cout<<dp[i][j]<<" ";
        }cout<<endl;
    }*/
    cout<<ans<<endl;
    
    return 0;
}

Submission Info

Submission Time
Task D - 3N Numbers
User sugarrr
Language C++14 (GCC 5.4.1)
Score 500
Code Size 1664 Byte
Status AC
Exec Time 145 ms
Memory 8436 KB

Judge Result

Set Name Sample Subtask All
Score / Max Score 0 / 0 300 / 300 200 / 200
Status
AC × 3
AC × 27
AC × 43
Set Name Test Cases
Sample 0_00.txt, 0_01.txt, 0_02.txt
Subtask 0_00.txt, 0_01.txt, 0_02.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, 1_18.txt, 1_19.txt, 1_20.txt, 1_21.txt, 1_22.txt, 1_23.txt
All 0_00.txt, 0_01.txt, 0_02.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, 1_18.txt, 1_19.txt, 1_20.txt, 1_21.txt, 1_22.txt, 1_23.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
Case Name Status Exec Time Memory
0_00.txt AC 1 ms 256 KB
0_01.txt AC 1 ms 256 KB
0_02.txt AC 1 ms 256 KB
1_00.txt AC 1 ms 256 KB
1_01.txt AC 1 ms 256 KB
1_02.txt AC 1 ms 256 KB
1_03.txt AC 1 ms 256 KB
1_04.txt AC 1 ms 256 KB
1_05.txt AC 1 ms 256 KB
1_06.txt AC 1 ms 256 KB
1_07.txt AC 1 ms 256 KB
1_08.txt AC 2 ms 384 KB
1_09.txt AC 2 ms 384 KB
1_10.txt AC 2 ms 384 KB
1_11.txt AC 2 ms 384 KB
1_12.txt AC 2 ms 384 KB
1_13.txt AC 2 ms 384 KB
1_14.txt AC 2 ms 384 KB
1_15.txt AC 2 ms 384 KB
1_16.txt AC 2 ms 384 KB
1_17.txt AC 2 ms 384 KB
1_18.txt AC 2 ms 384 KB
1_19.txt AC 2 ms 384 KB
1_20.txt AC 2 ms 384 KB
1_21.txt AC 2 ms 384 KB
1_22.txt AC 2 ms 384 KB
1_23.txt AC 2 ms 384 KB
2_00.txt AC 58 ms 8436 KB
2_01.txt AC 138 ms 8436 KB
2_02.txt AC 112 ms 8436 KB
2_03.txt AC 113 ms 8436 KB
2_04.txt AC 117 ms 8436 KB
2_05.txt AC 113 ms 8436 KB
2_06.txt AC 113 ms 8436 KB
2_07.txt AC 113 ms 8436 KB
2_08.txt AC 62 ms 8308 KB
2_09.txt AC 63 ms 8308 KB
2_10.txt AC 62 ms 8308 KB
2_11.txt AC 63 ms 8308 KB
2_12.txt AC 144 ms 8308 KB
2_13.txt AC 145 ms 8436 KB
2_14.txt AC 145 ms 8436 KB
2_15.txt AC 145 ms 8436 KB