# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
389121 | couplefire | Food Court (JOI21_foodcourt) | C++17 | 748 ms | 56348 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 MAXN 262144
#define INF 1000000000000000009ll
struct node{
long long psum = 0, nsum = 0;
pair<long long, int> minsum = {0, -1};
node(){}
};
node tree[2*MAXN];
void build(int v = 1, int tl = 0, int tr = MAXN-1){
tree[v].minsum.second = tl;
if(tl == tr) return;
int tm = (tl+tr)/2;
build(v*2, tl, tm); build(v*2+1, tm+1, tr);
}
void upd(int id, long long val, int v = 1, int tl = 0, int tr = MAXN-1){
if(tl > id || tr < id) return;
if(tl == tr){
if(val > 0) tree[v].psum = val, tree[v].nsum = 0;
else tree[v].nsum = -val, tree[v].psum = 0;
tree[v].minsum.first = val;
return;
}
int tm = (tl+tr)/2;
upd(id, val, v*2, tl, tm); upd(id, val, v*2+1, tm+1, tr);
# | 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... |