# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
626516 | ITO | Radio Towers (IOI22_towers) | C++17 | 1451 ms | 30040 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 "towers.h"
#include <bits/stdc++.h>
using namespace std;
int n, h[100005], hi[100005], mama[100005];
vector<pair<int, int>> pv;
int av[400000], bv[400000];
vector<int> aa[400000];
int build(int id, int ll, int rr) {
if (ll == rr) {
av[id] = h[ll];
bv[id] = mama[ll];
if (bv[id] == 2000000001) bv[id] = -1000000001;
aa[id].push_back(mama[ll]);
} else {
int m = (ll + rr) / 2, i = 0, j = 0;
av[id] = min(build(id * 2, ll, m), build(id * 2 + 1, m + 1, rr));
bv[id] = max(bv[id * 2], bv[id * 2 + 1]);
while (i < aa[id * 2].size() && j < aa[id * 2 + 1].size()) {
if (aa[id * 2][i] <= aa[id * 2 + 1][j]) {
aa[id].push_back(aa[id * 2][i]);
i++;
} else {
aa[id].push_back(aa[id * 2 + 1][j]);
j++;
}
}
while (i < aa[id * 2].size()) {
Compilation message (stderr)
# | 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... |