Submission #1309836

#TimeUsernameProblemLanguageResultExecution timeMemory
1309836norrawichzzzKas (COCI17_kas)C++20
50 / 100
2095 ms576 KiB
#include <bits/stdc++.h>
using namespace std;

int n;
int mxans = 0, mxadd = 0;

void recur(int cur, vector<int> &a, vector<int> &type) {
    if (cur==n) {
        int sm1=0, sm2=0, sm3=0;
        for (int i=0; i<n; i++) {
            if (type[i] == 1) sm1+=a[i];
            else if (type[i] == 2) sm2+=a[i];
            else sm3+=a[i];
        }
        if (sm1 == sm2) {
            if (mxans < sm1) {
                mxans = sm1;
                mxadd = sm3;
            }
        }
        return;
    }

    for (int i=0; i<=2; i++) {
        int tem = type[cur];
        type[cur] = i;
        recur(cur+1, a, type);
        type[cur] = tem;
    }
}


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

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

    vector<int> type(n);
    recur(0, a, type);
    cout<< mxans+mxadd;
}
#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...