Submission #100205

#TimeUsernameProblemLanguageResultExecution timeMemory
100205pamajKas (COCI17_kas)C++14
0 / 100
766 ms391952 KiB
#include <bits/stdc++.h> using namespace std; const int maxn = 500, maxm = 1e5 + 10, inf = 1e6; int dp[maxn][2*maxm], v[maxn], n, pref[maxn], rp; int solve(int i, int val, int cont) { if(dp[i][val] != -1) return dp[i][val]; if(val == maxm) { rp = max(rp, cont); } if(i == n) { return (abs(maxm - val)); } int caso1 = solve(i + 1, val, cont); int caso2 = solve(i + 1, val + v[i], cont + v[i]); int caso3 = solve(i + 1, val - v[i], cont); return dp[i][val] = min({caso1, caso2, caso3}); } int main() { ios::sync_with_stdio(false), cin.tie(nullptr); cin >> n; for(int i = 0; i < n; i++) { cin >> v[i]; pref[i] = v[i]; if(i) pref[i] += pref[i - 1]; } memset(dp, -1, sizeof(dp)); int ans = solve(0, maxm, 0); //cout << ans << "\n"; cout << rp + (pref[n - 1] - 2*rp) << "\n"; }

Compilation message (stderr)

kas.cpp: In function 'int main()':
kas.cpp:46:6: warning: unused variable 'ans' [-Wunused-variable]
  int ans = solve(0, maxm, 0);
      ^~~
#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...