Submission #244833

#TimeUsernameProblemLanguageResultExecution timeMemory
244833NONAMEKas (COCI17_kas)C++14
90 / 100
487 ms524288 KiB
#include <bits/stdc++.h> #define dbg(x) cerr << #x << " = " << x << "\n" #define fast_io ios_base::sync_with_stdio(0); cin.tie(0); cout.tie() using namespace std; using ll = long long; const int fx = -(3e5 + 100); int n, a[500], f[500][int(3e5) + 10], total; int rec(int p, int cur) { if (p == n) return (cur == 0) ? 0 : -3e5; if (f[p][int(1e5) + cur] != fx) return f[p][int(1e5) + cur]; int res = max(rec(p + 1, cur), max(rec(p + 1, cur - a[p]), rec(p + 1, cur + a[p]) + a[p])); return f[p][int(1e5) + cur] = res; } int main() { fast_io; cin >> n; for (int i = 0; i < n; ++i) { cin >> a[i]; total += a[i]; } for (int i = 0; i < n; ++i) for (int j = 0; j <= 3e5; ++j) f[i][j] = fx; int res = rec(0, 0); cout << res + (total - 2 * res) << "\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...