Submission #1773918


Source Code Expand

#include <iostream>
#include <iomanip> // << fixed << setprecision(xxx)
#include <algorithm> // do { } while ( next_permutation(A, A+xxx) ) ;
#include <vector>
#include <string> // to_string(nnn) // substr(m, n) // stoi(nnn)
#include <complex>
#include <tuple> // get<n>(xxx)
#include <queue>
#include <stack>
#include <map> // if (M.find(key) != M.end()) { }
#include <set> // S.insert(M);
// if (S.find(key) != S.end()) { }
// for (auto it=S.begin(); it != S.end(); it++) { }
// auto it = S.lower_bound(M);
#include <random> // random_device rd; mt19937 mt(rd());
#include <cctype>
#include <cassert>
#include <cmath>
#include <cstdio>
#include <cstdlib> // atoi(xxx)
using namespace std;

#define DEBUG 0 // change 0 -> 1 if we need debug.
// insert #if<tab> by my emacs. #if DEBUG == 1 ... #end

typedef long long ll;

// const int dx[4] = {1, 0, -1, 0};
// const int dy[4] = {0, 1, 0, -1};

// const int C = 1e6+10;
const ll infty = 10000000000000007;

int N;
ll a[300010];
ll plusscore[300010];
ll minusscore[300010];

int main () {
  cin >> N;
  for (auto i = 0; i < 3*N; ++i) {
    cin >> a[i];
  }
  fill(plusscore, plusscore+300010, -infty);
  fill(minusscore, minusscore+300010, infty);
  priority_queue<ll, vector<ll>, greater<ll> > Q;
  ll sum = 0;
  for (auto i = 0; i < 2*N; ++i) {
    Q.push(a[i]);
    sum += a[i];
    while ((int)Q.size() > N) {
      sum -= Q.top();
      Q.pop();      
    }
    plusscore[i] = sum;
  }
  priority_queue<ll> QQ;
  sum = 0;
  for (auto i = 3*N-1; i >= N; --i) {
    QQ.push(a[i]);
    sum += a[i];
    // cerr << "a[" << i << "] = " << a[i] << endl;
    while ((int)QQ.size() > N) {
      sum -= QQ.top();
      QQ.pop();
    }
    minusscore[i] = sum;
  }
  ll ans = -infty * 3;
  /*
  for (auto i = 0; i < 3*N; ++i) {
    cerr << "plusscore[" << i << "] = " << plusscore[i] << endl;
  }
  for (auto i = 0; i < 3*N; ++i) {
    cerr << "minusscore[" << i << "] = " << minusscore[i] << endl;
  }
  */
  for (auto i = N; i < 2*N; ++i) {
    ans = max(ans, plusscore[i] - minusscore[i+1]);
  }
  cout << ans << endl;
}

Submission Info

Submission Time
Task D - 3N Numbers
User kazunetakahashi
Language C++14 (GCC 5.4.1)
Score 0
Code Size 2151 Byte
Status WA
Exec Time 146 ms
Memory 9588 KB

Judge Result

Set Name Sample Subtask All
Score / Max Score 0 / 0 0 / 300 0 / 200
Status
AC × 3
AC × 21
WA × 6
AC × 34
WA × 9
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 3 ms 6400 KB
0_01.txt AC 3 ms 6400 KB
0_02.txt AC 3 ms 6400 KB
1_00.txt AC 3 ms 6400 KB
1_01.txt AC 3 ms 6400 KB
1_02.txt WA 3 ms 6400 KB
1_03.txt AC 3 ms 6400 KB
1_04.txt WA 3 ms 6400 KB
1_05.txt AC 3 ms 6400 KB
1_06.txt WA 3 ms 6400 KB
1_07.txt AC 3 ms 6400 KB
1_08.txt AC 4 ms 6400 KB
1_09.txt AC 4 ms 6400 KB
1_10.txt WA 4 ms 6400 KB
1_11.txt AC 4 ms 6400 KB
1_12.txt WA 4 ms 6400 KB
1_13.txt AC 4 ms 6400 KB
1_14.txt WA 4 ms 6400 KB
1_15.txt AC 4 ms 6400 KB
1_16.txt AC 3 ms 6400 KB
1_17.txt AC 3 ms 6400 KB
1_18.txt AC 3 ms 6400 KB
1_19.txt AC 3 ms 6400 KB
1_20.txt AC 4 ms 6400 KB
1_21.txt AC 4 ms 6400 KB
1_22.txt AC 4 ms 6400 KB
1_23.txt AC 5 ms 6400 KB
2_00.txt AC 56 ms 9588 KB
2_01.txt AC 138 ms 9588 KB
2_02.txt WA 111 ms 9588 KB
2_03.txt AC 112 ms 9588 KB
2_04.txt WA 112 ms 9588 KB
2_05.txt AC 112 ms 9588 KB
2_06.txt WA 112 ms 9588 KB
2_07.txt AC 112 ms 9588 KB
2_08.txt AC 62 ms 9588 KB
2_09.txt AC 61 ms 9588 KB
2_10.txt AC 63 ms 9588 KB
2_11.txt AC 61 ms 9588 KB
2_12.txt AC 142 ms 9588 KB
2_13.txt AC 144 ms 9588 KB
2_14.txt AC 144 ms 9588 KB
2_15.txt AC 146 ms 9588 KB