제출 #892671

#제출 시각아이디문제언어결과실행 시간메모리
892671tvladm2009Building Bridges (CEOI17_building)C++17
30 / 100
3091 ms3028 KiB
#include <bits/stdc++.h>

using namespace std;

#define ll long long
#define all(a) a.begin(), a.end()
#define rall(a) a.rbegin(), a.rend()

const ll INF = 1e18;

int32_t main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int n;
    cin >> n;
    vector<int> h(n + 1), w(n + 1);
    for (int i = 1; i <= n; i += 1) {
        cin >> h[i];
    }
    for (int i = 1; i <= n; i += 1) {
        cin >> w[i];
    }
    vector<ll> dp(n + 1, INF);
    dp[1] = 0;
    for (int i = 1; i <= n; i += 1) {
        ll sum = 0;
        for (int j = i + 1; j <= n; j += 1) {
            dp[j] = min(dp[j], dp[i] + (h[i] - h[j]) * (h[i] - h[j]) + sum);
            sum += w[j];
        }
    }
    cout << dp[n] << endl;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...