# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
552222 | RaresFelix | Triple Jump (JOI19_jumps) | C++17 | 1084 ms | 58784 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>
#define MN 500071
using namespace std;
int n, q, A[MN];
vector<pair<int, int> > OG;
struct nod {
int delta, origm, lazy_d;
int val, ma;
};
nod V[4 * MN];
void init(int u = 1, int s = 1, int d = n) {
if(s != d) {
init(u << 1, s, (s + d) >> 1);
init(u << 1 | 1, ((s + d) >> 1) + 1, d);
V[u].origm = V[u].ma = V[u].val = max(V[u << 1].origm, V[u << 1 | 1].origm);
} else {
V[u].origm = V[u].val = V[u].ma = A[s];
}
}
void prop(int u, int s, int d) {
if(V[u].delta < V[u].lazy_d) {
V[u].delta = V[u].lazy_d;
V[u].val = V[u].delta + V[u].origm;
V[u].ma = max({V[u].ma, V[u].val});
}
if(s != d) {
V[u << 1].lazy_d = max(V[u << 1].lazy_d, V[u].lazy_d);
# | 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... |