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>
using namespace std;
#define rep(i, l, r) for (int i = (l); i < (r); ++i)
#define per(i, l, r) for (int i = (r - 1); i >= l; --i)
#define ALL(x) (x).begin(), (x).end()
using i64 = long long;
void main_() {
int N;
cin >> N;
vector<i64> H(N), W(N);
for (auto &e : H) cin >> e;
for (auto &e : W) cin >> e;
vector<i64> dp(N, 1ll << 60);
dp[0] = 0;
rep(i, 0, N) {
i64 sumW = 0;
rep(j, i + 1, N) {
dp[j] = min(dp[j], dp[i] + (H[i] - H[j]) * (H[i] - H[j]) + sumW);
sumW += W[j];
}
}
cout << dp[N - 1] << endl;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
main_();
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |