Submission #926767

#TimeUsernameProblemLanguageResultExecution timeMemory
926767doducanhCloud Computing (CEOI18_clo)C++14
72 / 100
535 ms6996 KiB
#include <bits/stdc++.h>

using namespace std;
#define int long long
const int maxx=-1e15-7;
struct compu
{
    int c,f,w;
};
bool cmp(compu a, compu b)
{
    return (a.f>b.f||(a.f==b.f&&a.w>a.w));
}
vector<compu>v;
int dp[5000005];
int dq[5000005];
int n,q;
main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    cin>>n;
    int s=0;
    for(int i=1;i<=n;i++){
        int c,f,w;
        cin>>c>>f>>w;
        s+=c;
        v.push_back({c,f,-w});
    }
    cin>>q;
    for(int i=1;i<=q;i++){
        int c,f,w;
        cin>>c>>f>>w;
        v.push_back({-c,f,w});
    }
    sort(v.begin(),v.end(),cmp);
    for(int i=0;i<=100001;i++)dp[i]=maxx;
    for(int i=0;i<=100001;i++)dq[i]=maxx;
    dp[0]=0;
    dq[0]=0;
    for(int i=0;i<v.size();i++){
        for(int j=0;j<=100001;j++) {
            int neww=j+v[i].c;
            if(0<=neww&&neww<=100001)dq[neww]=max(dq[neww],dp[j]+v[i].w);
        }
        for(int j=0;j<=100001;j++)dp[j]=dq[j];
    }
    int res=0;
    for(int i=0;i<=100001;i++)res=max({res,dp[i],dq[i]});
    cout<<res;
    return 0;
}

Compilation message (stderr)

clo.cpp: In function 'bool cmp(compu, compu)':
clo.cpp:12:36: warning: self-comparison always evaluates to false [-Wtautological-compare]
   12 |     return (a.f>b.f||(a.f==b.f&&a.w>a.w));
      |                                 ~~~^~~~
clo.cpp: At global scope:
clo.cpp:18:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   18 | main()
      | ^~~~
clo.cpp: In function 'int main()':
clo.cpp:40:18: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<compu>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   40 |     for(int i=0;i<v.size();i++){
      |                 ~^~~~~~~~~
#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...