Submission #54905

#TimeUsernameProblemLanguageResultExecution timeMemory
54905istleminBuilding Bridges (CEOI17_building)C++14
30 / 100
3042 ms3004 KiB
#include<bits/stdc++.h> using namespace std; #define rep(i,a,b) for(int i = a; i<int(b);++i) #define all(v) v.begin(),v.end() #define sz(v) v.size() #define trav(a,c) for(auto a: c) typedef long long ll; typedef vector<ll> vi; typedef pair<ll,ll> pii; ll n; vi h; vi w; int main(){ cin.sync_with_stdio(false); cin>>n; h.resize(n); w.resize(n); rep(i,0,n) cin>>h[i]; ll sumW = 0; rep(i,0,n){ cin>>w[i]; sumW += w[i]; } vi dp(n,1e18); dp[0] = -w[0]; rep(i,1,n){ rep(j,0,i){ dp[i] = min(dp[i],dp[j]+(h[i]-h[j])*(h[i]-h[j])); } dp[i] -= w[i]; //cout<<dp[i]<<" "; } cout<<sumW + dp[n-1]<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...