Submission #161886

#TimeUsernameProblemLanguageResultExecution timeMemory
161886shayan_pBuilding Bridges (CEOI17_building)C++14
30 / 100
3039 ms2804 KiB
// Remember... #include<bits/stdc++.h> #define F first #define S second #define PB push_back #define sz(s) int((s).size()) #define bit(n,k) (((n)>>(k))&1) using namespace std; typedef long long ll; typedef pair<int,int> pii; typedef pair<ll,ll> pll; const int maxn=1e5+10,mod=1e9+7; const ll inf=1e18; ll dp[maxn]; int a[maxn], b[maxn]; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(); int n; cin>>n; for(int i=0;i<n;i++){ cin>>a[i]; } for(int i=0;i<n;i++){ cin>>b[i]; } for(int i=1;i<n;i++){ ll num=0; dp[i]= inf; for(int j=i-1;j>=0;j--){ dp[i]= min(dp[i], dp[j] + num + 1ll*(a[i]-a[j])*(a[i]-a[j])); num+= b[j]; } } return cout<<dp[n-1]<<endl,0; } // Deathly mistakes: // * Read the problem carefully. // * Check maxn. // * Overflows. // #pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math") // #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...