제출 #1091516

#제출 시각아이디문제언어결과실행 시간메모리
1091516efishel카니발 티켓 (IOI20_tickets)C++17
27 / 100
331 ms73040 KiB
#include "tickets.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using vll = vector <ll>;
using ii = pair <ll, ll>;
using vii = vector <ii>;
using vi = vector <int>;
using vvi = vector <vi>;

ll find_maximum (int k, vvi x) {
    ll n = x.size(), m = x[0].size();
    vll l(n, 0), r(n, m-1);
    vvi answer(n, vi(m, -1));
    ll ans = 0;
    for (ll ik = 0; ik < k; ik++) {
        vii th;
        for (ll i = 0; i < n; i++) {
            th.push_back({ x[i][l[i]]+x[i][r[i]], i });
        }
        sort(th.begin(), th.end());
        for (ll i = 0; i < n/2; i++) {
            ll j = th[i].second;
            answer[j][l[j]] = ik;
            ans -= x[j][l[j]];
            l[j]++;
        }
        for (ll i = n/2; i < n; i++) {
            ll j = th[i].second;
            answer[j][r[j]] = ik;
            ans += x[j][r[j]];
            r[j]--;
        }
    }
    allocate_tickets(answer);
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...