# |
제출 시각 |
아이디 |
문제 |
언어 |
결과 |
실행 시간 |
메모리 |
92439 |
2019-01-02T20:52:34 Z |
wolf |
Kas (COCI17_kas) |
C++14 |
|
958 ms |
395896 KB |
#include <bits/stdc++.h>
using namespace std;
using vi = vector<int> ;
using ll = long long;
#define pb push_back
#define inf 0x3f3f3f3f
#define all(v) (v).begin() , (v).end()
#define ones(n) __builtin_popcount(n)
const int N = 505 , M = 1e5 + 5;
int n;
int arr[N] , memo[N][2 * M];
int solve (int i , int d) {
if (i == n)
return d == M ? 0 : inf;
int &ret = memo[i][d];
if (~ret)
return ret;
return ret = min(min(solve(i + 1 , d - arr[i]) , solve(i + 1 , d + arr[i])) , solve(i + 1 , d) + arr[i]);
}
int main() {
int sum = 0;
cin >> n;
for (int i = 0 ;i < n ;i++) {
cin >> arr[i];
sum += arr[i];
}
memset(memo , -1 , sizeof memo);
int mnrem = solve(0 , M);
int ans = (sum - mnrem) / 2 + mnrem;
cout << ans;
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
283 ms |
395896 KB |
Output is correct |
2 |
Correct |
274 ms |
395640 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
269 ms |
395640 KB |
Output is correct |
2 |
Correct |
306 ms |
395588 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
291 ms |
395572 KB |
Output is correct |
2 |
Correct |
280 ms |
395856 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
277 ms |
395572 KB |
Output is correct |
2 |
Correct |
298 ms |
395616 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
285 ms |
395708 KB |
Output is correct |
2 |
Correct |
280 ms |
395640 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
283 ms |
395664 KB |
Output is correct |
2 |
Correct |
275 ms |
395640 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
306 ms |
395608 KB |
Output is correct |
2 |
Correct |
307 ms |
395768 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
400 ms |
395728 KB |
Output is correct |
2 |
Correct |
310 ms |
395668 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
412 ms |
395796 KB |
Output is correct |
2 |
Correct |
423 ms |
395640 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
574 ms |
395592 KB |
Output is correct |
2 |
Correct |
958 ms |
395876 KB |
Output is correct |