Submission #934297

#TimeUsernameProblemLanguageResultExecution timeMemory
934297Faisal_SaqibBuilding Bridges (CEOI17_building)C++17
30 / 100
3099 ms3416 KiB
#include <iostream> using namespace std; #define ll long long const int N=1e5+100; ll dp[N],a[N],pre[N],h[N],w[N]; void solve() { int n; cin>>n; for(int i=1;i<=n;i++) cin>>h[i]; for(int i=1;i<=n;i++) cin>>w[i]; for(int i=1;i<=n;i++) pre[i]=pre[i-1]+w[i]; for(int i=1;i<=n;i++) dp[i]=1e18; dp[1]=0; for(int i=1;i<=n;i++) for(int j=i+1;j<=n;j++) dp[j]=min(dp[j],dp[i]+(pre[j-1]-pre[i])+((h[j]-h[i])*(h[j]-h[i]))); cout<<dp[n]; } int main() { cin.tie(0); cout.tie(0); ios::sync_with_stdio(0); int t=1; while(t--) { solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...