Submission #1216561

#TimeUsernameProblemLanguageResultExecution timeMemory
1216561dragon28102008Knapsack (NOI18_knapsack)C++17
49 / 100
345 ms327680 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; using ld = long double; #define IN "main.inp" #define OUT "main.out" #define AC ios_base::sync_with_stdio(false);cin.tie(nullptr); cout.tie(nullptr); const ll mod = 998244353; ll s , n; vector<ll> v , w , k; ll sub1() { ll res = min(k[0] ,(s/w[0] ) ) * v[0]; return res; } ll sub23() { vector<pair<ll,ll>> a; for(ll i = 0 ; i<n ; i++) { for(ll j = 0 ; j<k[i] ; j++) { a.push_back({v[i] , w[i]}); } } vector<ll> dp(s+1 , 0); for(pair<ll,ll> p: a) { for(ll i = s ; i>=p.second ; i--) { dp[i] = max(dp[i] , dp[i-p.second] + p.first); } } return dp[s]; } int main() { if (fopen(IN, "r")) { freopen(IN, "r", stdin); freopen(OUT, "w", stdout); } AC cin>>s>>n; v.resize(n); w.resize(n); k.resize(n); for(ll i = 0 ; i<n ; i++) { cin>>v[i]>>w[i]>>k[i]; } if(n == 1) cout<<sub1(); else cout<<sub23(); return 0; }

Compilation message (stderr)

knapsack.cpp: In function 'int main()':
knapsack.cpp:46:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   46 |         freopen(IN, "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~
knapsack.cpp:47:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   47 |         freopen(OUT, "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~
#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...