#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |