Submission #856312

#TimeUsernameProblemLanguageResultExecution timeMemory
856312CyanmondBuilding Bridges (CEOI17_building)C++17
30 / 100
3028 ms3680 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...