Submission #160772

#TimeUsernameProblemLanguageResultExecution timeMemory
160772Rouge_HugoCloud Computing (CEOI18_clo)C++14
0 / 100
266 ms3580 KiB
#include <bits/stdc++.h>
using namespace std;
int n,m;
vector<pair<long long,pair<long long ,long long >>>v;
const long long M=50*2001;
long long d[2][M+100],vis[2][M+100];
const long long inf=1e15;
void solve()
{
    long long last=0,l=0;
    d[0][0]=0;
    vis[0][0]=1;
    if (v[0].second.first>=0){d[0][v[0].second.first]=v[0].second.second;vis[0][v[0].second.first]=1;}
    for(long long i=1;i<n;i++)
    {
        for(long long  j=0;j<M-1;j++)
        {
            vis[i%2][j]=0;
            d[i%2][j]=-inf;
            if (vis[(i+1)%2][j]){d[i%2][j]=(d[(i+1)%2][j]);vis[i%2][j]=1;}
            if (j-v[i].second.first>0&&vis[(i+1)%2][j-v[i].second.first]==1)
                {
            if (vis[i%2][j])d[i%2][j]=max(d[i%2][j],d[(i+1)%2][j-v[i].second.first]+v[i].second.second);
            else d[i%2][j]=d[(i+1)%2][j-v[i].second.first]+v[i].second.second;
            vis[i%2][j]=1;
                }

            if (vis[i%2][j])last=max(d[i%2][j],last);
        }
    }
    cout<< max(last,(long long)0) ;
}
int main()
{
    cin>>n;
    long long x,y,z;
    for(long long i=0;i<n;i++)
    {
        cin>>x>>y>>z;
        v.push_back({y,{x,-z}});
    }
    cin>>m;
    for(long long i=0;i<m;i++)
    {
        cin>>x>>y>>z;
        v.push_back({y,{-x,+z}});
    }
    n+=m;
    sort(v.begin(),v.end());
    reverse(v.begin(),v.end());
    solve();
}

Compilation message (stderr)

clo.cpp: In function 'void solve()':
clo.cpp:10:22: warning: unused variable 'l' [-Wunused-variable]
     long long last=0,l=0;
                      ^
#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...