Submission
Status:
[PPP-SSSS][-SSSSSSS][-SSSSSSSS]
Score: 0
User: Pandusk
Problemset: 06.Happiness
Language: cpp
Time: 0.060 second
Submitted On: 2025-04-17 12:03:11
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int n;
priority_queue<int> pq;
int ans = 0;
ll sum = 0;
int main() {
cin >> n;
while(n--) {
int a;
cin >> a;
if(a >= 0) {
++ans;
sum += a;
// cout << "push " << a << '\n';
} else {
if(sum + a >= 0) {
pq.emplace(-a);
sum += a;
++ans;
// cout << "push " << a << '\n';
} else {
if(!pq.empty()) {
if(-a < pq.top()) {
int b = pq.top();
sum += b;
sum -= a;
pq.pop();
pq.emplace(-a);
// cout << -a << '\n';
}
}
}
}
}
cout << ans;
}
/*
6
7 -2 -6 -5 0 1
*/