제출 #779348

#제출 시각아이디문제언어결과실행 시간메모리
779348danikoynovBuilding Bridges (CEOI17_building)C++14
30 / 100
3073 ms4112 KiB
#include<bits/stdc++.h>
#define endl '\n'

using namespace std;
typedef long long ll;

void speed()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
}

const ll inf = 1e18;
const int maxn = 1e5 + 10;

int n;
ll h[maxn], w[maxn], pref[maxn], dp[maxn];
void solve()
{
    cin >> n;
    for (int i = 1; i <= n; i ++)
        cin >> h[i];
    for (int i = 1; i <= n; i ++)
        cin >> w[i], pref[i] = pref[i - 1] + w[i];

    dp[1] = 0;
    for (int i = 2; i <= n; i ++)
    {
        dp[i] = inf;
        for (int j = 1; j < i; j ++)
        {
            dp[i] = min(dp[i], dp[j] + pref[i - 1] - pref[j] + (h[i] - h[j]) * (h[i] - h[j]));
        }
    }

    cout << dp[n] << endl;
}

int main()
{
    solve();
    return 0;
}
/**
6
3 8 7 1 6 6
0 -1 9 1 2 0
*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...