# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
214019 | spdskatr | Land of the Rainbow Gold (APIO17_rainbow) | C++14 | 805 ms | 197112 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 "rainbow.h"
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <utility>
#include <vector>
#include <set>
#define fi first
#define se second
using namespace std;
typedef pair<int, int> pii;
class PersistentSegtree {
public:
int st[10000000], lc[10000000], rc[10000000], cnt = 1;
int heads[200005];
void seg_inc(int n, int pn, int lo, int hi, int i, int v) {
if (lo + 1 == hi) {
st[n] = st[pn] + v;
return;
}
lc[n] = lc[pn], rc[n] = rc[pn];
int mid = (lo + hi) / 2;
if (mid > i) {
lc[n] = cnt++;
seg_inc(lc[n], lc[pn], lo, mid, i, v);
} else {
rc[n] = cnt++;
seg_inc(rc[n], rc[pn], mid, hi, i, v);
# | 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... |