Submission #1082902

#TimeUsernameProblemLanguageResultExecution timeMemory
1082902timmyli3481Knapsack (NOI18_knapsack)C++14
73 / 100
1047 ms15880 KiB
#include <bits/stdc++.h> using namespace std; int s, n, cnt; long long v[100001*30], w[100001*30]; long long dp[2001]; int main(){ scanf("%d%d", &s, &n); for(int i=1; i<=n; i++){ // scanf("%lld%lld%lld", &v[i], &w[i], &k[i]); long long vi, wi, ki; scanf("%lld%lld%lld", &vi, &wi, &ki); int t = 1; while (ki>=t) { v[++cnt]=vi*t; w[cnt]=wi*t; ki-=t; t*=2; } if(ki>0) { v[++cnt]=vi*ki; w[cnt]=wi*ki; } } for(int i=1; i<=cnt; i++){ for(int j=s; j>=w[i]; j--){ dp[j]=max(dp[j], dp[j-w[i]]+v[i]); } } printf("%lld", dp[s]); }

Compilation message (stderr)

knapsack.cpp: In function 'int main()':
knapsack.cpp:9:7: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
    9 |  scanf("%d%d", &s, &n);
      |  ~~~~~^~~~~~~~~~~~~~~~
knapsack.cpp:13:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   13 |         scanf("%lld%lld%lld", &vi, &wi, &ki);
      |         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...