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