Submission #819403

#TimeUsernameProblemLanguageResultExecution timeMemory
819403borisAngelovBuilding Bridges (CEOI17_building)C++17
30 / 100
3066 ms3216 KiB
#include <bits/stdc++.h> using namespace std; const int maxn = 100005; const long long inf = (1LL << 62); int n; long long h[maxn]; long long w[maxn]; long long pref[maxn]; long long dp[maxn]; void fastIO() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); } int main() { fastIO(); 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] = inf; for (int j = i - 1; j >= 1; --j) { dp[i] = min(dp[i], dp[j] + pref[i - 1] - pref[j] + (h[i] - h[j]) * (h[i] - h[j])); } } cout << dp[n] << endl; return 0; } /* 6 3 8 7 1 6 6 0 -1 9 1 2 0 */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...