# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
220098 | rama_pang | Minerals (JOI19_minerals) | C++14 | 87 ms | 4260 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 "minerals.h"
#include <bits/stdc++.h>
using namespace std;
int optimal_pivot(int n) {
static int MAXN = 43005;
static vector<pair<int, int>> optimal(MAXN, make_pair(1e8, 1e8));
static bool computed = false;
if (computed) return optimal[n].second;
computed = true;
optimal[0] = optimal[1] = {0, 0};
for (int i = 2; i < MAXN; i++) {
int lo = 1, hi = i / 2;
while (lo < hi) {
int m1 = (lo + hi) / 2;
int m2 = m1 + 1;
int c1 = optimal[m1].first + optimal[i - m1].first + i - 1 + m1;
int c2 = optimal[m2].first + optimal[i - m2].first + i - 1 + m2;
if (c1 < c2) {
hi = m1;
} else {
lo = m2;
}
}
optimal[i] = make_pair(optimal[lo].first + optimal[i - lo].first + lo + i - 1, lo);
}
return optimal_pivot(n);
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |