Submission #126830

#TimeUsernameProblemLanguageResultExecution timeMemory
126830abacabaKas (COCI17_kas)C++14
100 / 100
114 ms1144 KiB
#include <bits/stdc++.h> using namespace std; const int inf = 2e9; const int M = 1e5 + 15; int n, x, summ, ans = inf; int dp[2][M]; int main() { scanf("%d", &n); for(int i = 1; i <= n; ++i) { scanf("%d", &x); summ += x; int bit = (i & 1), prev = (i & 1) ^ 1; for(int j = M - 1; j >= 0; --j) { if(!j || dp[prev][j]) { dp[bit][j + x] = max(dp[bit][j + x], dp[prev][j] + x); dp[bit][abs(j - x)] = max(dp[bit][abs(j - x)], dp[prev][j] + x); dp[bit][j] = max(dp[bit][j], dp[prev][j]); } } } printf("%d\n", summ - dp[n & 1][0] / 2); return 0; }

Compilation message (stderr)

kas.cpp: In function 'int main()':
kas.cpp:10:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &n);
  ~~~~~^~~~~~~~~~
kas.cpp:12:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d", &x);
   ~~~~~^~~~~~~~~~
#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...