제출 #1358155

#제출 시각아이디문제언어결과실행 시간메모리
1358155goulthenBuilding Bridges (CEOI17_building)C++20
60 / 100
3004 ms2784 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define rep(i,a,b) for (int i = a; i <= b; i++)
#define per(i,a,b) for (int i = a; i >= b; i--)
#define pii pair<int,int>
#define fi first
#define se second

const int MAXN = 1e5+10;
const int INF = 1e18+67;
int h[MAXN],w[MAXN], dp[MAXN];

int32_t main() {
    ios_base::sync_with_stdio(0);cin.tie(nullptr);
    int n; cin >> n;
    rep(i,1,n) cin >> h[i];
    rep(i,1,n) cin >> w[i];

    dp[1] = -w[1]+2*h[1]*h[1];
    rep(i,2,n) {
        dp[i] = INF;
        rep(j,1,i-1) dp[i] = min(dp[i],dp[j]-2*h[i]*h[j]);

        dp[i] += 2*h[i]*h[i] - w[i];

    }
    int sw = 0;
    rep(i,1,n) sw+=w[i];


    cout << dp[n] - h[1]*h[1] - h[n]*h[n] + sw;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…