Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <algorithm>
- #include <vector>
- #define ll long long
- #define fi first
- #define se second
- using namespace std;
- ll dp[2000001];
- vector<pair<ll, ll>>v[2000001];
- int main(){
- int n;
- scanf("%d",&n);
- ll mx=-1;
- for(int i=1; i<=n; i++){
- ll a,b,c;
- scanf("%lld %lld %lld",&a,&b,&c);
- v[a+c].push_back({a,b});
- mx=max(mx,a+c);
- }
- for(int i=1; i<=mx; i++){
- dp[i]=dp[i-1];
- for(auto c:v[i]){
- dp[i]=max(dp[i],dp[c.fi]+c.se);
- }
- }
- printf("%lld\n", dp[mx]);
- }
Add Comment
Please, Sign In to add comment