Submission #994028

#TimeUsernameProblemLanguageResultExecution timeMemory
994028vjudge1Kas (COCI17_kas)C++17
30 / 100
30 ms600 KiB
#include <bits/stdc++.h>
using namespace std;

const int S = 1e5 + 10;
int n;
bool dp[S];

int main(){
    cin >> n;
    dp[0] = 1;
    int total = 0;
    for (int i = 0; i < n; i ++){
        int x;
        cin >> x;
        total += x;
        for (int sm = S - 1; sm >= x; sm --)
            dp[sm] |= dp[sm - x];
    }

    int mx = 0;
    for (int x = 0; 2 * x < S; x ++)
        if (dp[x] and dp[2 * x])
            mx = max(mx, x);
    cout << mx + (total - 2 * mx) << endl;
}
#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...