Submission #132368

#TimeUsernameProblemLanguageResultExecution timeMemory
132368VardanyanBuilding Bridges (CEOI17_building)C++14
30 / 100
3 ms504 KiB
#include <bits/stdc++.h>
using namespace std;
const int N = 1005;
long long dp[N];
long long a[N];
long long b[N];
long long pref[N];
int main(){
    ios_base::sync_with_stdio(false);
    int n;
    cin>>n;
    for(int i = 1;i<=n;i++) cin>>a[i];
    for(int i = 1;i<=n;i++){
        cin>>b[i];
        pref[i] = pref[i-1]+b[i];
        dp[i] = 1000000000000000;
    }
    dp[1] = 0;
    for(int i = 2;i<=n;i++){
        for(int j = 1;j<i;j++){
            dp[i] = min(dp[i],dp[j]+(a[i]-a[j])*(a[i]-a[j])+pref[i-1]-pref[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...