Submission #126782

#TimeUsernameProblemLanguageResultExecution timeMemory
126782abacabaKas (COCI17_kas)C++14
0 / 100
2 ms376 KiB
#include <bits/stdc++.h>
using namespace std;

const int inf = 2e9;
const int M = 1e5 + 15;
const int N = 5e2 + 15;
int n, a[N], summ, ans = inf;
bitset <M> dp1, dp2[N];

int main() {
	freopen("input.txt", "r", stdin);
	scanf("%d", &n);
	for(int i = 1; i <= n; ++i) {
		scanf("%d", &a[i]);
		summ += a[i];
	}
	for(int i = n; i; --i) {
		dp2[i] = (dp2[i + 1] << a[i]);
		dp2[i][a[i]] = 1;
	}
	for(int i = 1; i <= n; ++i) {
		dp1 = (dp1 << a[i]);
		dp1[a[i]] = 1;
		bitset <M> temp = (dp1 & dp2[i + 1]);
		for(int j = temp._Find_first(); j < M; j = temp._Find_next(j))
			ans = min(ans, summ - (j << 1));
	}
	cout << ans + (summ - ans) / 2;
    return 0;
}

Compilation message (stderr)

kas.cpp: In function 'int main()':
kas.cpp:11:9: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
  freopen("input.txt", "r", stdin);
  ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
kas.cpp:12:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &n);
  ~~~~~^~~~~~~~~~
kas.cpp:14:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d", &a[i]);
   ~~~~~^~~~~~~~~~~~~
#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...