#include<bits/stdc++.h>
#define TC while(t--)
#define DEBUG(x) cout<<"Debug "<<#x<<':'<<x<<endl;
#define EL "\n"
#define ll long long
#define pii pair<int,int>
#define sz(x) (int)x.size()
#define st first
#define nd second
#define pb push_back
using namespace std;
const int MAX_SUM=1e5+5;
void fast(){
ios_base::sync_with_stdio(0);
cin.tie(0);
}
void solve(){
int n;
cin>>n;
vector<int> c(n);
int total_sum=0;
for(int i=0;i<n;i++){
cin>>c[i];
total_sum+=c[i];
}
//dp[d]
vector<int> dp(MAX_SUM,-1);
dp[0]=0;
for(int i=0;i<n;i++){
int coin=c[i];
vector<int> next_dp=dp;
for(int d=0;d<MAX_SUM;d++){
if(dp[d]!=-1){
if(d+coin<MAX_SUM){
next_dp[d+coin]=max(next_dp[d+coin],dp[d]+coin);
}
int new_diff=abs(d-coin);
int new_heavy=dp[d]+max(0,coin-d);
next_dp[new_diff]=max(next_dp[new_diff],new_heavy);
}
}
dp=next_dp;
}
cout<<total_sum-dp[0];
}
int main(){
fast();
solve();
/*int t;
cin>>t;
TC{
solve();
}*/
return 0;
}