Submission #892677

#TimeUsernameProblemLanguageResultExecution timeMemory
892677tvladm2009Building Bridges (CEOI17_building)C++17
30 / 100
3010 ms2648 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define all(a) a.begin(), a.end() #define rall(a) a.rbegin(), a.rend() const ll INF = 1e18; int32_t main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n; cin >> n; vector<int> h(n + 1), w(n + 1); for (int i = 1; i <= n; i += 1) { cin >> h[i]; } vector<ll> pref(n + 1, 0); for (int i = 1; i <= n; i += 1) { cin >> w[i]; pref[i] = pref[i - 1] + w[i]; } vector<ll> dp(n + 1, INF); dp[1] = 0; for (int i = 2; i <= n; i += 1) { for (int j = 1; j < i; j += 1) { dp[i] = min(dp[i], h[i] * -2 * h[j] + (dp[j] + h[j] * h[j] - pref[j])); } dp[i] += pref[i - 1] + h[i] * h[i]; } cout << dp[n] << endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...