Submission #1196376

#TimeUsernameProblemLanguageResultExecution timeMemory
1196376flukeKas (COCI17_kas)C++20
50 / 100
2095 ms328 KiB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

using namespace __gnu_pbds;
using namespace std;

#define ordered_set <int,null_type,less<int>,rb_tree_tag,tree_order_statistics_node_update>
#define ordered_multiset <int,null_type,less_equal<int>,rb_tree_tag,tree_order_statistics_node_update>

#define ll long long 
#define f first 
#define s second 
#define emb emplace_back 
#define emf emplace_front 
#define em emplace 
#define all(x) x.begin(),x.end()
#define DB cout<<"\n";system("pause");
#define sp <<" "<<
#define inf (int)(1e9)
#define INF (ll)(1e18)
#define mod (int)(1e9 + 7)
#define maxn 15

int n,max_sum , sum;
int vec[maxn];
void way(int ind , int sum1 , int sum2){
    if(ind == n+1){
        if(sum1 == sum2){
            max_sum = max(max_sum , sum1);
        }
        return ;
    }

    way(ind + 1 , sum1 + vec[ind] , sum2);
    way(ind + 1 , sum1  , sum2 + vec[ind]);
    way(ind + 1 , sum1  , sum2);

}

int main(){
ios::sync_with_stdio(false);cin.tie(0);
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>vec[i];
        sum += vec[i];
    }

    way(1,0,0);
    cout<<max_sum + (sum - max_sum * 2);





}
#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...