#include using namespace std; #define rep(i,a,b) for(int i=a;i> N; rep(i, 0, N) cin >> M[i]; dp[0] = 100; rep(ma, 0, 1 << N) if(0 < dp[ma]){ rep(i, 0, N) if (!(ma & (1 << i))) { int mama = ma + (1 << i); int level = 1; rep(j, 0, N) if (ma & (1 << j)) if(M[j] < 0) level++; int hp = dp[ma]; if (M[i] < 0) { // enemy hp = max(0, hp + M[i]); } else { hp = min(level * 100, hp + M[i]); } dp[mama] = max(dp[mama], hp); } } cout << dp[(1 << N) - 1] << endl; }