Submission #939051

#TimeUsernameProblemLanguageResultExecution timeMemory
939051vjudge1Building Bridges (CEOI17_building)C++17
0 / 100
41 ms2652 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define pb push_back #define fr first #define sc second const long long INF=1e17,N=2e5+6; int h[N],c[N]; int f(int l, int r){ int val=(h[r]-h[l])*(h[r]-h[l]); for(int i=l+1;i<r;i++) val+=c[i]; int res=val; vector<int> md; int sum=res-(h[r]-h[l])*(h[r]-h[l]); for(int i=l+1;i<r;i++){ int tmp=(sum-c[i]+(h[l]-h[i])*(h[l]-h[i])+ (h[r]-h[i])*(h[r]-h[i])); if(tmp<res){ res=tmp; md.clear(); md.pb(i); } else if(tmp==res){ md.pb(i); } } if(md.size()==0) return res; for(auto it: md){ res=min(res,f(l,it)+f(it,r)); } return res; } void solve(){ int n;cin>>n; for(int i=1;i<=n;i++) cin>>h[i]; for(int i=1;i<=n;i++) cin>>c[i]; cout<<f(1,n); } main(){ int T=1; //cin>>T; while(T--){ solve(); } }

Compilation message (stderr)

building.cpp:43:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   43 | main(){
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...