# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1159862 | itslq | 3D Histogram (COCI20_histogram) | C++20 | 2595 ms | 50244 KiB |
#include <bits/stdc++.h>
#define int long long
using namespace std;
vector<int> A(2005), B(2005);
struct node {
node *lc, *rc;
int l, r, m, v;
long long dv = 0;
node(int S, int E) {
l = S;
r = E;
m = (l + r) / 2;
if (l == r) {
v = A[l];
} else {
lc = new node(l, m);
rc = new node(m + 1, r);
v = min(lc -> v, rc -> v);
}
}
int query(int S, int E) {
if (l == S && r == E) return v + dv;
if (E <= m) return lc -> query(S, E) + dv;
if (S > m) return rc -> query(S, E) + dv;
return min(lc -> query(S, m), rc -> query(m + 1, E)) + dv;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |