Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- const int N = 555;
- int f[N][N][N], n, a[N];
- int main() {
- int m = 0;
- cin >> n;
- for (int i = 1; i <= n; ++i) {
- cin >> a[i];
- m += a[i];
- }
- f[0][0][0] = 1;
- for (int i = 1; i <= n; ++i) {
- for (int x = 0; x <= m; ++x) {
- for (int y = 0; y <= m; ++y) {
- f[i][x][y] = f[i - 1][x][y];
- if (x >= a[i] && f[i - 1][x - a[i]][y]) {
- f[i][x][y] = 1;
- }
- if (y >= a[i] && f[i - 1][x][y - a[i]]) {
- f[i][x][y] = 1;
- }
- }
- }
- }
- int answer = 0;
- for (int i = 1; i <= m; ++i) {
- if (f[n][i][i]) {
- answer = i;
- }
- }
- cout << answer << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement