#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define vec vector
ll n,m;
vec<vec<ll>>a,b,dp;
signed main(){
	ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);
	cin>>n;
	a=vec<vec<ll>>(n+1,vec<ll>(4));
	for(ll i=1;i<=n;i++)for(ll j=1;j<=3;j++)cin>>a[i][j];
	cin>>m;
	b=vec<vec<ll>>(m+1,vec<ll>(4));
	for(ll i=1;i<=m;i++)for(ll j=1;j<=3;j++)cin>>b[i][j];
	dp.resize(m+1,vec<ll>(n+1,0));
	for(ll j=1;j<=m;j++)for(ll i=1;i<=n;i++){
		dp[j][i]=max(dp[j-1][i],dp[j][i-1]);
		if(a[i][2]>=b[j][2]){
			dp[j][i]=max(dp[j][i],dp[j-1][i-1]+b[j][3]-a[i][3]);
		}
	}
//	for(ll i=1;i<=m;i++){
//		for(ll j=1;j<=n;j++){
//			cout<<dp[i][j]<<' ';
//		}
//		cout<<'\n';
//	}
	cout<<dp[m][n];
	
}
| # | 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... |