#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N=2e5+5;
int n,m,tmp;
int dp[N+5];
array<int,(int)4>a[4005];
bool cmp(array<int,4>a,array<int,4>b)
{
if(a[1]==b[1])return a[3]<b[3];
return a[1]>b[1];
}
main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=0;j<3;j++)cin>>a[i][j];
a[i][(int)3]=i;
}
cin>>m;
for(int i=n+1;i<=n+m;i++)
{
for(int j=0;j<3;j++)cin>>a[i][j];
a[i][(int)3]=i;
}
n+=m;
sort(a+1,a+n+1,cmp);
memset(dp, -0x3f, sizeof dp);
dp[0]=0;
for(int i=1;i<=n;i++)
{
if(a[i][3]<=n-m)
{
for(int j=tmp;j>=0;j--)
dp[j+a[i][0]]=max(dp[j+a[i][0]],dp[j]-a[i][2]);
tmp+=a[i][0];
}
else
{
for(int j=a[i][0];j<=tmp;j++)dp[j-a[i][0]]=max(dp[j-a[i][0]],dp[j]+a[i][2]);
}
}
cout<<*max_element(dp,dp+N);
return 0;
}
Compilation message (stderr)
clo.cpp:13:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
13 | main()
| ^~~~
# | 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... |