Submission #2230670


Source Code Expand

#include <bits/stdc++.h>

#define rep(n) for(int i=0;i<n;i++)
#define repp(j, n) for(int j=0;j<n;j++)
#define reppp(i, m, n) for(int i=m;i<n;i++)
#define all(c) c.begin(), c.end()
#define rall(c) c.rbegin(), c.rend()

using namespace std;

typedef long long ll;
typedef pair<ll, ll> Pll;
typedef pair<int, int> Pii;
struct edge{int from, to; ll cost;};

const ll MOD = 1000000007;
const double EPS = 1e-9;

bool compare( const Pll& left, const Pll& right ) {
    return (left.first - left.second) > (right.first - right.second);
}

int main(){
    std::ios::sync_with_stdio(0); cin.tie(0);

    int x,y,z;
    cin >> x >> y >> z;
    int n = x+y+z;
    vector<Pll> ab(n);
    ll csum = 0LL;
    rep(n){
        ll a,b,c;
        cin >> a >> b >> c;
        ab[i].first = a-c;
        ab[i].second = b-c;
        csum += c;
    }
    sort(all(ab), compare);

    // aの最大化
    vector<ll> a(n, 0LL);
    priority_queue<ll, vector<ll>, greater<ll> > que;
    rep(x){
        que.push(ab[i].first);
        a[x] += ab[i].first;
    }
    reppp(k, x+1, x+z+1){
        que.push(ab[k-1].first);
        a[k] = a[k-1] + ab[k-1].first  - que.top();
        que.pop();
    }

    // bの最大化
    vector<ll> b(n, 0LL);
    que = decltype(que)();
    rep(y){
        que.push(ab[n-1-i].second);
        b[x+z] += ab[n-1-i].second;
    }
    for(int k=x+z-1;k>=x;k--){
        que.push(ab[k].second);
        b[k] = b[k+1] + ab[k].second - que.top();
        que.pop();
    }

    ll ans = LLONG_MIN;
    reppp(k, x, x+z+1){
        ans = max(ans, a[k]+b[k]);
    }
    cout << ans+csum << endl;
}

Submission Info

Submission Time
Task C - Coins
User Noimin
Language C++14 (GCC 5.4.1)
Score 800
Code Size 1669 Byte
Status AC
Exec Time 50 ms
Memory 4600 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 800 / 800
Status
AC × 3
AC × 35
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
sample_03.txt AC 1 ms 256 KB
subtask_1_01.txt AC 1 ms 256 KB
subtask_1_02.txt AC 9 ms 896 KB
subtask_1_03.txt AC 12 ms 1408 KB
subtask_1_04.txt AC 25 ms 2300 KB
subtask_1_05.txt AC 29 ms 2428 KB
subtask_1_06.txt AC 37 ms 3120 KB
subtask_1_07.txt AC 10 ms 1200 KB
subtask_1_08.txt AC 39 ms 3328 KB
subtask_1_09.txt AC 9 ms 1152 KB
subtask_1_10.txt AC 32 ms 3108 KB
subtask_1_11.txt AC 45 ms 4084 KB
subtask_1_12.txt AC 36 ms 4276 KB
subtask_1_13.txt AC 45 ms 4212 KB
subtask_1_14.txt AC 50 ms 3828 KB
subtask_1_15.txt AC 48 ms 4208 KB
subtask_1_16.txt AC 43 ms 4600 KB
subtask_1_17.txt AC 43 ms 3832 KB
subtask_1_18.txt AC 46 ms 3708 KB
subtask_1_19.txt AC 46 ms 4216 KB
subtask_1_20.txt AC 46 ms 4128 KB
subtask_1_21.txt AC 38 ms 3832 KB
subtask_1_22.txt AC 44 ms 4264 KB
subtask_1_23.txt AC 48 ms 3960 KB
subtask_1_24.txt AC 48 ms 4208 KB
subtask_1_25.txt AC 41 ms 4600 KB
subtask_1_26.txt AC 42 ms 4084 KB
subtask_1_27.txt AC 45 ms 3832 KB
subtask_1_28.txt AC 47 ms 3976 KB
subtask_1_29.txt AC 1 ms 256 KB