# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1138942 | Math4Life2020 | Food Court (JOI21_foodcourt) | C++20 | 208 ms | 44692 KiB |
//#pragma GCC optimize("O3,unroll-loops")
#include <bits/stdc++.h>
using namespace std;
using ll = long long; using pii = pair<ll,ll>;
const ll Nm = 262144; const ll E = 18; const ll INF = 1e18;
ll ans[Nm]; //query answer
ll st1[2*Nm]; //lazy addition minus the lazy pushdowns
ll st2[2*Nm]; //queue size segtree
ll lzadd[2*Nm]; //lazy add
ll lzmax[2*Nm]; //lazy max
//lazy max stores CURRENT true maximum to update to: aka incorporate add tag.
//value = max(value, lazy max tag)
//lazy tags have NOT been applied to the current element yet
pii st3[2*Nm]; //{min value, x location}
ll lz3[2*Nm]; //lazy add
//lazy tags HAVE been applied to the current element
vector<pii> vqry[Nm]; //{query value, query index}
ll qind[Nm];
//for query value: store how much query value exceeds previous query value
pii fz(pii p1, pii p2) {
if (p1.first>p2.first) {
return p2;
}
if (p1.first<p2.first) {
# | 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... |