Submission #519026

#TimeUsernameProblemLanguageResultExecution timeMemory
519026A_DCloud Computing (CEOI18_clo)C++14
100 / 100
1040 ms2176 KiB
#include <bits/stdc++.h>

#define int long long
#define ii pair<int,int>
#define F first
#define S second

using namespace std;
const int N=1e5+100;
int dp[N];
int dp2[N];
vector<pair<int,ii>> vec;
void solve()
{
    for(int i=1;i<N;i++)dp[i]=-1e18;
    for(int i=1;i<N;i++)dp2[i]=-1e18;
    int n,m;
    cin>>n;
    while(n--){
        int c,f,v;
        cin>>c>>f>>v;
        vec.push_back({f,{c,-v}});
    }
    cin>>m;
    while(m--){
        int c,f,v;
        cin>>c>>f>>v;
        vec.push_back({f,{-c,v}});
    }
    sort(vec.begin(),vec.end());
    reverse(vec.begin(),vec.end());
    int sz=vec.size();
    int mx=0;
    for(int i=0;i<sz;i++){
        int mm=mx;
        for(int j=0;j<=mx;j++){
            dp2[j]=dp[j];
        }
        for(int j=0;j<=mx;j++){
            if(vec[i].S.F+j>=0){
                mm=max(mm,vec[i].S.F+j);
                dp2[vec[i].S.F+j]=max(dp2[vec[i].S.F+j],dp[j]+vec[i].S.S);

            }
        }
        mx=mm;
        for(int j=0;j<=mx;j++){
            dp[j]=dp2[j];
        }
//        cout<<mx<<endl;
  //      for(int j=0;j<=mx;j++)cout<<dp[j]<<" ";cout<<endl;
    }
    int ans=0;
    for(int i=0;i<=mx;i++)ans=max(ans,dp[i]);
    //cout<<endl;
    cout<<ans<<endl;
}
main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int t=1;
    //cin>>t;
    while(t--){
        solve();
    }
}





Compilation message (stderr)

clo.cpp:58:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   58 | main()
      | ^~~~
#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...