Submission #166591

#TimeUsernameProblemLanguageResultExecution timeMemory
166591thiago4532Building Bridges (CEOI17_building)C++17
30 / 100
3029 ms4360 KiB
#include <bits/stdc++.h> #define int int64_t using namespace std; const int maxn = 1e5 + 10; int h[maxn], pref[maxn], w[maxn]; int n, dp[maxn]; int32_t main() { cin >> n; for(int i=1;i<=n;i++) cin >> h[i]; for(int i=1;i<=n;i++) cin >> w[i], pref[i] = pref[i-1] + w[i]; dp[1] = 0; for(int i=2;i<=n;i++) { dp[i] = 0x3f3f3f3f3f3f3f3f; for(int j=1;j<i;j++) { dp[i] = min(dp[i], dp[j] - pref[j] + h[j]*h[j] - 2*h[j] * h[i]); } dp[i] += h[i]*h[i] + pref[i-1]; } cout << dp[n] << "\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...