Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- #define ll long long
- int main() {
- ll n, w; cin >> n >> w;
- // vector < pair<pair<ll,ll>,ll>> v;
- vector<vector<ll>> v;
- ll mxr = -1;
- for (ll i = 0; i < n; i++) {
- ll l, r, k; cin >> l >> r >> k;
- //(l,r-1)--->+k
- mxr = max(mxr, r);
- v.push_back({l, r, k});
- }
- vector<ll> ans(mxr + 1, 0);
- for (auto &i : v) {
- ll l = i[0], r = i[1], k = i[2];
- ans[l] += k; ans[r] -= k;
- }
- for (ll i = 1; i < ans.size(); i++) {
- ans[i] += ans[i - 1];
- }
- bool check = true;
- for (ll i = 0; i < ans.size(); i++) {
- if (ans[i] > w) {
- check = false; break;
- }
- }
- if (check) cout << "Yes" << endl;
- else cout << "No" << endl;
- return 0;
- }
- /*
- suffix sum
- int n; cin >> n;
- vector<int> v(n);
- for (int i = 0; i < n; i++) cin >> v[i];
- vector<int> suffix(n + 1, 0);
- //filling out the suffix array;
- for (int i = n - 1; i >= 0; i--) {
- suffix[i] = v[i] + suffix[i + 1];
- }
- for (int i = 0; i < n; i++) cout << suffix[i] << " ";
- cout << endl;
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement