Submission #757899

#TimeUsernameProblemLanguageResultExecution timeMemory
757899bzhuKnapsack (NOI18_knapsack)C++14
37 / 100
1080 ms328 KiB
#include <bits/stdc++.h>

using namespace std;

int main() {
  cin.tie(0)->sync_with_stdio(0);
  long long s, n;
  cin >> s >> n;
  vector<long long> dp(s + 1);
  for (long long i=0; i<n; i++) {
    long long value, weight, quantity;
    cin >> value >> weight >> quantity;
    for (long long k=s; k>=weight; k--) {
      for (long long j=0; j<quantity; j++) {
        if (k >= (j + 1) * weight) {
          dp[k] = max(dp[k], dp[k - (j + 1) * weight] + (j + 1) * value);
        }
      }
    }
  }
  cout << dp[s] << endl;
  return 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...