Submission #1157959

#TimeUsernameProblemLanguageResultExecution timeMemory
1157959ocasuCloud Computing (CEOI18_clo)C++20
100 / 100
487 ms2120 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long

const int MXC = 100005;

const int inf=5e18;

signed main(){
    int n; cin>>n;
    vector<vector<int>> all;
    for (int i=0; i<n; i++){
        int c,f,v; cin>>c>>f>>v;
        all.push_back({f,c,-v});
    }
    int m; cin>>m;
    for (int i=0; i<m; i++){
        int c,f,v; cin>>c>>f>>v;
        all.push_back({f,-c,v});
    }
    sort(all.begin(),all.end(),greater<vector<int>>());
    vector<int> dp(MXC,-inf);
    dp[0]=0;
    for (auto x: all){
        vector<int> prev=dp;
        for (int i=0; i<MXC; i++){
            if (i+x[1]>=0 and i+x[1]<MXC){
                dp[i+x[1]] = max(dp[i+x[1]], prev[i]+x[2]);
            }
        }
    }
    int ans=0;
    for (auto i: dp) ans=max(ans, i);
    cout<<ans<<'\n';

}
#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...