Submission #88573

#TimeUsernameProblemLanguageResultExecution timeMemory
88573aminraAkcija (COCI15_akcija)C++14
64 / 80
22 ms3372 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; const int MOD = (int)1e9 + 7; const int MAXN = (int)5e5 + 7; const int infint = (int)1e9; const ll inf = (ll)1e18; ll n, a[MAXN], dp[MAXN], p[MAXN]; int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> n; for (int i = 0; i < n; i++) cin >> a[i]; sort(a, a + n); p[0] = a[0]; for (int i = 1; i < n; i++) p[i] = p[i - 1] + a[i]; dp[n - 1] = a[n - 1]; if(n != 1) dp[n - 2] = a[n - 2] + a[n - 1]; ll mn = p[n - 1]; for (int i = n - 3; i >= 0; i--) { dp[i] = mn - p[i]; mn = min(mn, dp[i + 2] + p[i + 1]); } cout << dp[0]; }
#Verdict Execution timeMemoryGrader output
Fetching results...