Submission #503963

#TimeUsernameProblemLanguageResultExecution timeMemory
503963krit3379Cloud Computing (CEOI18_clo)C++14
100 / 100
691 ms1996 KiB
#include<bits/stdc++.h> using namespace std; #define N 2005 struct A{ int c,f,v; bool operator<(const A& o)const{ if(f!=o.f)return f>o.f; return c>o.c; } }; A a[2*N]; long long dp[2][100005],ans,nn=100000; int main(){ int n,m,i,j,k,now=0,prev,c,f,v; scanf("%d",&n); for(i=1;i<=n;i++)scanf("%d %d %d",&a[i].c,&a[i].f,&a[i].v),a[i].v*=-1; scanf("%d",&m); for(i=n+1;i<=n+m;i++)scanf("%d %d %d",&a[i].c,&a[i].f,&a[i].v),a[i].c*=-1; sort(a+1,a+n+m+1); n+=m; for(i=1;i<=nn;i++)dp[now][i]=-1e18; for(i=1;i<=n;i++){ prev=now; now=1-now; c=a[i].c; f=a[i].f; v=a[i].v; for(j=0;j<=nn;j++)dp[now][j]=dp[prev][j]; for(j=0;j<=nn;j++){ if(j-c>=0&&j-c<=nn)dp[now][j]=max(dp[now][j],dp[prev][j-c]+v); } } for(i=0;i<=nn;i++)ans=max(ans,dp[now][i]); printf("%lld",ans); return 0; }

Compilation message (stderr)

clo.cpp: In function 'int main()':
clo.cpp:17:17: warning: unused variable 'k' [-Wunused-variable]
   17 |     int n,m,i,j,k,now=0,prev,c,f,v;
      |                 ^
clo.cpp:17:32: warning: variable 'f' set but not used [-Wunused-but-set-variable]
   17 |     int n,m,i,j,k,now=0,prev,c,f,v;
      |                                ^
clo.cpp:18:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   18 |     scanf("%d",&n);
      |     ~~~~~^~~~~~~~~
clo.cpp:19:27: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   19 |     for(i=1;i<=n;i++)scanf("%d %d %d",&a[i].c,&a[i].f,&a[i].v),a[i].v*=-1;
      |                      ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
clo.cpp:20:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   20 |     scanf("%d",&m);
      |     ~~~~~^~~~~~~~~
clo.cpp:21:31: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   21 |     for(i=n+1;i<=n+m;i++)scanf("%d %d %d",&a[i].c,&a[i].f,&a[i].v),a[i].c*=-1;
      |                          ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...