#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAXN = 1e3 + 5;
ll c1[MAXN];
ll c2[MAXN];
ll t1[MAXN];
ll t2[MAXN];
ll p1[MAXN];
ll p2[MAXN];
ll pref1[MAXN];
ll pref2[MAXN];
const ll INF = -1e18;
ll dp[MAXN][MAXN];
int main(){
    
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int n, m;
    cin >> n >> m;
    int a, b, c;
    for(int i = 1; i <= n; ++i){
        cin >> c1[i] >> t1[i] >> p1[i];
    }
    for(int i = 1; i <= m; ++i){
        cin >> c2[i] >> t2[i] >> p2[i];
    }
    for(int i = 1; i <= n; ++i){
        pref1[i] = pref1[i - 1] + c1[i];
    }
    for(int i = 1; i <= m; ++i){
        pref2[i] = pref2[i - 1] + c2[i];
    }
    for(int i = 1; i <= n; ++i){
        dp[i][0] = dp[i-1][0] + (pref1[i] <= t1[i] ? p1[i] : 0);
    }
    for(int i = 1; i <= m; ++i){
        dp[0][i] = dp[0][i-1] + (pref2[i] <= t2[i] ? p2[i] : 0);
    }
    for(int i = 1; i <= n; ++i){
        for(int j = 1; j <= m; ++j){
            ll k1 = -INF;
            if(pref1[i-1] + pref2[j] + c1[i] <= t1[i]){
                k1 = dp[i-1][j] + p1[i];
            }
            else{
                k1 = dp[i-1][j];
            }
            ll k2 = -INF;
            if(pref1[i] + pref2[j-1] + c2[j] <= t2[j]){
                k2 = dp[i][j-1] + p2[j];
            }
            else{
                k2 = dp[i][j-1];
            }
            dp[i][j] = max(k1, k2);
        }
    }
    cout << dp[n][m] << "\n";
    return 0;
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |