Submission #578204

#TimeUsernameProblemLanguageResultExecution timeMemory
578204andrei_boacaBuilding Bridges (CEOI17_building)C++14
30 / 100
3044 ms4448 KiB
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
ll n;
struct date
{
    ll h,w;
} v[100005];
ll dp[100005];
ll s[100005];
int main()
{
    ios_base::sync_with_stdio(false);
    cin>>n;
    for(int i=1;i<=n;i++)
        cin>>v[i].h;
    for(int i=1;i<=n;i++)
    {
        cin>>v[i].w;
        s[i]=s[i-1]+v[i].w;
    }
    dp[1]=0;
    for(int i=2;i<=n;i++)
    {
        dp[i]=1e17;
        for(int j=i-1;j>=1;j--)
        {
            ll val=dp[j]+(v[i].h-v[j].h)*(v[i].h-v[j].h)+s[i-1]-s[j];
            dp[i]=min(dp[i],val);
        }
        //cout<<dp[i]<<' ';
    }
    cout<<dp[n];
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...