#include #include using namespace std; int N; int D[22]; int dp[1<<20]; int main(){ cin >> N; for(int i=0;i> D[i]; dp[0] = 100; for(int mask=0;mask<1<> i) & 1){ if(D[i] < 0)h_max += 100; } for(int i=0;i> i) & 1)continue; if(D[i] > 0){ dp[mask | (1 << i)] = max(dp[mask | (1 << i)], min(h_max, h + D[i])); } else { if(h + D[i] > 0){ dp[mask | (1 << i)] = max(dp[mask | (1 << i)], h + D[i]); } } } } cout << dp[(1 << N) - 1] << endl; return 0; }