# | 제출 시각UTC-0 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
400854 | timmyfeng | Bubble Sort 2 (JOI18_bubblesort2) | C++17 | 2429 ms | 51432 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
const int N = 1000000;
array<int, 2> values[N];
int maxi[4 * N], lazy[4 * N], m;
void update(int a, int b, int x, int u = 1, int l = 0, int r = m - 1) {
if (a > b || b < l || r < a) {
return;
} else if (a <= l && r <= b) {
lazy[u] += x;
maxi[u] += x;
} else {
int m = (l + r) / 2;
update(a, b, x, 2 * u, l, m);
update(a, b, x, 2 * u + 1, m + 1, r);
maxi[u] = max(maxi[2 * u], maxi[2 * u + 1]) + lazy[u];
}
}
void assign(int a, int x, int u = 1, int l = 0, int r = m - 1) {
if (l == r) {
maxi[u] = x + lazy[u];
} else {
int m = (l + r) / 2;
if (a <= m) {
assign(a, x, 2 * u, l, m);
} else {
# | 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... |