제출 #126830

#제출 시각아이디문제언어결과실행 시간메모리
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;
}

컴파일 시 표준 에러 (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...