Advertisement
maycod23

Prefix_Suffix & Water_Heater

Feb 28th, 2023
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. int main() {
  5. ll n, w; cin >> n >> w;
  6. // vector < pair<pair<ll,ll>,ll>> v;
  7. vector<vector<ll>> v;
  8. ll mxr = -1;
  9. for (ll i = 0; i < n; i++) {
  10. ll l, r, k; cin >> l >> r >> k;
  11. //(l,r-1)--->+k
  12. mxr = max(mxr, r);
  13. v.push_back({l, r, k});
  14. }
  15. vector<ll> ans(mxr + 1, 0);
  16. for (auto &i : v) {
  17. ll l = i[0], r = i[1], k = i[2];
  18. ans[l] += k; ans[r] -= k;
  19. }
  20.  
  21. for (ll i = 1; i < ans.size(); i++) {
  22. ans[i] += ans[i - 1];
  23. }
  24.  
  25. bool check = true;
  26. for (ll i = 0; i < ans.size(); i++) {
  27. if (ans[i] > w) {
  28. check = false; break;
  29. }
  30. }
  31. if (check) cout << "Yes" << endl;
  32. else cout << "No" << endl;
  33.  
  34.  
  35. return 0;
  36. }
  37. /*
  38. suffix sum
  39.  
  40.  
  41. int n; cin >> n;
  42. vector<int> v(n);
  43. for (int i = 0; i < n; i++) cin >> v[i];
  44. vector<int> suffix(n + 1, 0);
  45.  
  46.  
  47. //filling out the suffix array;
  48. for (int i = n - 1; i >= 0; i--) {
  49. suffix[i] = v[i] + suffix[i + 1];
  50. }
  51.  
  52. for (int i = 0; i < n; i++) cout << suffix[i] << " ";
  53. cout << endl;
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement