이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define all(x) x.begin(), x.end()
#define mp make_pair
#define mt make_tuple
#define x first
#define y second
#include "meetings.h"
vector<ll> minimum_costs(vector<int> h, vector<int> l, vector<int> r) {
int q = (int)l.size();
vector<ll> c(q);
for (int it = 0; it < q; ++it) {
auto check = [&](int mn) {
ll ans = -h[mn];
int cur = h[mn];
for (int i = mn; i <= r[it]; ++i) {
cur = max(cur, h[i]);
ans += cur;
}
cur = h[mn];
for (int i = mn; i >= l[it]; --i) {
cur = max(cur, h[i]);
ans += cur;
}
c[it] = ans;
return ans;
};
ll mn = check(l[it]);
for (int i = l[it]; i <= r[it]; ++i) {
ll t = check(i);
mn = min(mn, t);
}
c[it] = mn;
}
return c;
}
#ifdef LC
#include "grader.cpp"
#endif
# | 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... |