Submission #1273098

#TimeUsernameProblemLanguageResultExecution timeMemory
1273098algoproclubCloud Computing (CEOI18_clo)C++20
18 / 100
140 ms1996 KiB
// UUID: 8f81da7f-0527-4f84-bd5e-321e50768050
#include <bits/stdc++.h>
using namespace std;

int main() {
#define int long long
	int n;
	cin >> n;
	vector<int> dppc(50*n+1000, LLONG_MAX/2);
	dppc[0]=0;
	for(int i=0;i<n;i++){
		int c, _, v;
		cin >> c >> _ >> v;
		for(int j=50*i;0<=j;j--){
			dppc[j+c]=min(dppc[j+c], dppc[j]+v);
		}
	}
	//for(int i=50*n+998;0<=i;i--) dppc[i]=min(dppc[i+1], dppc[i]);
	int m;
	cin >> m;
	vector<int> dporder(50*m+1000, LLONG_MIN/2);
	dporder[0]=0;
	for(int i=0;i<m;i++){
		int c, _, v;
		cin >> c >> _ >> v;
		for(int j=50*i;0<=j;j--){
			dporder[j+c]=max(dporder[j+c], dporder[j]+v);
		}
	}
	for(int i=1;i<50*m+1000;i++) dporder[i]=max(dporder[i-1], dporder[i]);
	int ans=0;
	for(int i=0;i<50*min(n, m)+1000;i++){
		ans=max(ans, dporder[i]-dppc[i]);
	}
	cout << ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...