Submission #1309842

#TimeUsernameProblemLanguageResultExecution timeMemory
1309842norrawichzzzKas (COCI17_kas)C++20
70 / 100
279 ms589824 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    cin.tie(0)->sync_with_stdio(0);
    int n;
    cin>> n;

    int SM=0;
    vector<int> a(n);
    for (int i=0; i<n; i++) {cin>> a[i]; SM+=a[i];}

    vector<vector<bool>> dp(SM+1, vector<bool>(SM+1, false));
    dp[0][0]= true;

    for (auto &x : a) {
        for (int i=SM; i>=0; i--) {
            for (int j=SM; j>=0; j--) {
                bool c1=(i-x >= 0? dp[i-x][j] : false), c2=(j-x >= 0? dp[i][j-x] : false);
                dp[i][j] = dp[i][j] || c1 || c2;
            }
        }
    }

    for (int i=0; i<=SM; i++) {
        //for (int j=0; j<=SM; j++) cout<< dp[i][j]<< ' ';
        //cout<< '\n'; 
    }

    for (int i=SM; i>=0; i--) {
        if (dp[i][i]) {
            cout<< i+SM-2*i;
            return 0;
        }
    }
}
#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...