# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
728521 | piOOE | Food Court (JOI21_foodcourt) | C++17 | 529 ms | 44420 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 <bits/stdc++.h>
using namespace std;
using ll = long long;
namespace SegmentTree {
constexpr int N_ = 1 << 19;
pair<ll, ll> t[N_]; // f(x) = max(0, x - t[i].first) + t[i].second
int sz = 1;
void init(int n) {
sz = 1 << __lg(n) + !!(n & (n - 1));
}
void apply(int x, pair<ll, ll> d) {
if (t[x].second >= d.first) {
t[x] = {t[x].first, t[x].second - d.first + d.second};
} else {
t[x] = {t[x].first + d.first - t[x].second, d.second};
}
}
void push(int x) {
if (t[x].first || t[x].second) {
apply(x << 1, t[x]), apply(x << 1 | 1, t[x]);
t[x] = {};
}
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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |