senb1

krsu 2234

Feb 26th, 2023
588
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.03 KB | None | 0 0
  1. /*
  2. by: senb1
  3. */
  4.  
  5. #include <bits/stdc++.h>
  6.  
  7. #define ll long long
  8. #define all(x) x.begin(), x.end()
  9. #define fr first
  10. #define sc second
  11. #define mk make_pair
  12. #define endl '\n'
  13.  
  14. using namespace std;
  15.  
  16. const ll inf = 1e9 + 6;
  17. const ll maxn = 2e5 + 5;
  18.  
  19. void solve() {
  20.     int n;
  21.     cin >> n;
  22.     vector<int> v(n), t(n);
  23.     for (int i = 0; i < n; i++)
  24.         cin >> v[i];
  25.  
  26.     int s = 0;
  27.     multiset<int> st;
  28.     for (int i = 0; i < n; i++) {
  29.         cin >> t[i];
  30.         if (t[i] == 1) {
  31.             s += v[i];
  32.         } else {
  33.             if (s >= v[i]) {
  34.                 s -= v[i];
  35.                 st.insert(-v[i]);
  36.             } else if (-*st.begin() > v[i]) {
  37.                 s += (-*st.begin() - v[i]);
  38.                 st.erase(st.begin());
  39.                 st.insert(-v[i]);
  40.             }
  41.         }
  42.     }
  43.     cout << st.size() << endl;
  44. }
  45. /*
  46. 7
  47. 5 8 9 3 2 7 9
  48. 1 1 2 2 2 1 2
  49. */
  50.  
  51. int main() {
  52.     ios::sync_with_stdio(0);
  53.     cin.tie(0);
  54.  
  55.     int t = 1;
  56.     // cin >> t;
  57.     while (t--)
  58.         solve();
  59. }
Advertisement
Add Comment
Please, Sign In to add comment