Submission #426613

#TimeUsernameProblemLanguageResultExecution timeMemory
426613oleh1421Building Bridges (CEOI17_building)C++17
30 / 100
3055 ms4460 KiB
#include<bits/stdc++.h> typedef long long ll; using namespace std; const int N=100010; const ll mod=1000000007; const ll inf=1e15; ll h[N],w[N]; ll dp[N]; ll a[N],b[N]; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); int n;cin>>n; for (int i=1;i<=n;i++) cin>>h[i]; for (int i=1;i<=n;i++) cin>>w[i],w[i]+=w[i-1]; dp[1]=0; a[1]=h[1]*h[1]-w[1]+dp[1]; b[1]=-2*h[1]; for (int i=2;i<=n;i++){ dp[i]=inf; for (int j=1;j<i;j++){ dp[i]=min(dp[i],a[j]+b[j]*h[i]); } dp[i]+=h[i]*h[i]+w[i-1]; a[i]=h[i]*h[i]+dp[i]-w[i]; b[i]=-2*h[i]; } cout<<dp[n]<<endl; 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...