# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1109920 | penguinhacker | Food Court (JOI21_foodcourt) | C++17 | 773 ms | 42352 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;
#define ll long long
#define ar array
const int mxN=250000;
int n, m, q, qs[mxN], ans[mxN];
ar<ll, 3> st[1<<19]; // sum, suf, sum of negs
vector<ar<int, 2>> changes[mxN];
vector<ar<ll, 2>> qq[mxN];
ar<ll, 3> cmb(ar<ll, 3> a, ar<ll, 3> b) {
return {a[0]+b[0], max(a[1]+b[0], b[1]), a[2]+b[2]};
}
void upd(int i, int x, int u=1, int l=0, int r=q-1) {
if (l==r) {
st[u][0]+=x;
st[u][1]=max(st[u][0], 0ll);
st[u][2]=min(st[u][0], 0ll);
return;
}
int mid=(l+r)/2;
if (i<=mid)
upd(i, x, 2*u, l, mid);
else
upd(i, x, 2*u+1, mid+1, r);
st[u]=cmb(st[2*u], st[2*u+1]);
}
# | 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... |