#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; #define rep(i, n) for (int i = 0; i < n; ++i) #define rrep(i, st, n) for (int i = st; i < n; ++i) using pii = pair; const int inf = 1e9 + 7; int dy[] = {1, 1, 0, -1, -1, 0}; int dx[] = {1, 0, -1, -1, 0, 1}; #define ceil(a, b) a / b + !!(a % b) #define chmax(a, b) a = max(a, b) #define chmin(a, b) a = min(a, b) int main() { int n; cin >> n; int d[n]; rep(i, n) cin >> d[i]; int dp[1 << n]; rep(i, (1 << n)) dp[i] = -inf; dp[0] = 100; int limit[1 << n]; limit[0] = 100; rep(i, (1 << n)) { if (dp[i] <= 0) continue; rep(j, n) { if (!(i & (1 << j))) { //which to add if (dp[i | 1 << j] <= min(limit[i], dp[i] + d[j])) { dp[i | 1 << j] = min(limit[i], dp[i] + d[j]); if (d[j] < 0) limit[i | 1 << j] = limit[i] + 100; else limit[i | 1 << j] = limit[i]; } } } } //rep(i, (1 << n)) cout << dp[i] << " "; cout << endl; if (dp[(1 << n) - 1] > 0) cout << dp[(1 << n) - 1] << endl; else cout << 0 << endl; }