# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
826136 | KoD | Sequence (APIO23_sequence) | C++17 | 771 ms | 46632 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 "sequence.h"
#include <algorithm>
#include <utility>
#include <vector>
using std::pair;
using std::vector;
struct node {
int min, max, sum;
static node id() { return {0, 0, 0}; }
static node one(int x) { return {std::min(x, 0), std::max(x, 0), x}; }
node operator+(const node& n) const { return node(*this) += n; }
node& operator+=(const node& n) {
min = std::min(min, n.min + sum);
max = std::max(max, n.max + sum);
sum += n.sum;
return *this;
}
};
struct segment_tree {
explicit segment_tree(int n, const node& x) : size(n), data(2 * n, x) {
for (int i = n - 1; i > 0; --i) fetch(i);
}
void set(int i, const node& n) {
i += size;
data[i] = n;
while (i >>= 1) fetch(i);
}
# | 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... |