#include<bits/stdc++.h>
using namespace std;
#define MAX 2005
bitset<MAX*MAX> dp[2];
int a[MAX];
int main()
{
	int n,sum=0;
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>a[i];
		sum+=a[i];
	}
	dp[0].set(0);
	for(int i=1;i<=n;i++)
	{
		dp[i&1]=dp[(i-1)&1]|dp[(i-1)&1]<<a[i-1];
	}
	for(int i=(sum+1)/2;i<=sum;i++)
	{
		if(dp[1][i] || dp[0][i])
		{
			cout<<i<<endl;
			break;
		}
	}
	return 0;
}