typedef long long ll; int main() { int n; cin >> n; vector<int> hap(n, 0); for (int i = 0; i < n; i++) { cin >> hap[i]; } vector<ll> dp(n + 1, 0); int max_bag = 0; for (int i = 0; i < n; i++) { if (hap[i] >= 0) { max_bag++; for (int j = max_bag; j >= 1; j--) { dp[j] = max(dp[j - 1] + hap[i], dp[j]); } } else { if (dp[max_bag] + hap[i] >= 0) { max_bag++; } for (int j = max_bag; j>=1; j--) { dp[j] = max(dp[j - 1] + hap[i], dp[j]); } } //cout << max_bag << ' &(5528)#39; << dp[max_bag] << endl; } cout << max_bag << endl; return 0; }