# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
750157 | puppy | Cake 3 (JOI19_cake3) | C++17 | 3749 ms | 21304 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <iostream>
#include <set>
#include <algorithm>
#include <utility>
using namespace std;
using ll = long long;
const ll inf = 1e18;
pair<ll, int> arr[200005];
int N, M;
int l, r;
set<pair<ll, int>> inc, exc;
ll cur = 0;
void in(int i)
{
inc.insert(make_pair(arr[i].first, i));
cur += arr[i].first;
cur -= (*inc.begin()).first;
exc.insert(*inc.begin());
inc.erase(inc.begin());
}
void out(int i)
{
auto it = inc.find(make_pair(arr[i].first, i));
if (it != inc.end()) {
cur -= arr[i].first;
inc.erase(it);
cur += (*--exc.end()).first;
inc.insert(*--exc.end());
exc.erase(--exc.end());
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |