Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- #define int long long
- #define uint unsigned long long
- #define hayai ios_base::sync_with_stdio(false); cin.tie(0), cout.tie(0)
- const int MAX = 2000005;
- #define yes cout << "YES" <<"\n"
- #define no cout << "NO" << "\n"
- const long long mod=1e9+7;
- int fb(vector<int> &ep ,int val)
- {
- auto it = lower_bound(ep.begin(),ep.end(),val);
- if(it==ep.begin())
- return 0;
- else it--;
- return it-ep.begin()+1;
- }
- int32_t main() {
- hayai;
- int t =1;
- // cin >> t;
- while(t--)
- {
- int n;
- cin >> n ;
- vector<pair<int,pair<int,int>>>v(n);
- for(int i =0;i<n;i++)
- {
- cin >> v[i].second.first >> v[i].first >> v[i].second.second ;
- }
- sort(v.begin(),v.end());
- int dp[n+1];
- dp[0]=0;
- vector<int> end;
- for(int i=0;i<n;i++)
- {
- end.push_back(v[i].first);
- }
- for(int i =0;i<n;i++)
- {
- int op1 = dp[i];
- int op2 = v[i].second.second;
- int j = fb(end,v[i].second.first);
- op2+=dp[j];
- dp[i+1]=max(op1,op2);
- }
- cout << dp[n] << "\n";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement