#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define MAX_N 1000100 #define PI 3.141592653589 #define EPS 1e-20 #define BS 10 #define MOD 1000000009 #define ZERO 10001 #define YJSNPI 8101919 #define INF (1 << 28) #define ADD(a, b) a = (a + (ll)b) % MOD #define MUL(a, b) a = (a * (ll)b) % MOD #define MAX(a, b) a = max(a, b) #define MIN(a, b) a = min(a, b) using namespace std; typedef pair pi; typedef pair ppi; int N; int dp[1 << 16][17]; int A[17]; int main() { cin >> N; for(int i = 0; i < N; i++) cin >> A[i]; dp[0][1] = 100; for(int i = 0; i < 1 << N; i++) { for(int j = 1; j <= N; j++) { if(dp[i][j] == 0) continue; for(int k = 0; k < N; k++) { if(i & (1 << k)) continue; if(A[k] < 0) { if(dp[i][j] + A[k] > 0) { MAX(dp[i | (1 << k)][j + 1], dp[i][j] + A[k]); } } else { MAX(dp[i | (1 << k)][j], min(j * 100, dp[i][j] + A[k])); } } } } int res = 0; for(int i = 1; i <= N; i++) MAX(res, dp[(1 << N) - 1][i]); cout << res << endl; }