Submission #976121

#TimeUsernameProblemLanguageResultExecution timeMemory
976121vjudge1Knapsack (NOI18_knapsack)C++17
73 / 100
1056 ms456 KiB
#include <bits/stdc++.h>
#define int long long
#define f first
#define s second
#define pb push_back
#define endl '\n'
using namespace std;

int S,N,V,W,K,dp[2002],ans;

void solve() {
	cin >> S >> N;
	dp[0] = 0;
	for (int i = 1; i <= S; i++) dp[i] = -1e9;
	for (int i = 1; i <= N; i++) {
		cin >> V >> W >> K;
		K = min(K, S / W);
		while (K--) {
			for (int j = S; j >= W; j--) {
				dp[j] = max(dp[j], dp[j - W] + V); 
			}
		}
	}
	for (int i = 0; i <= S; i++) ans = max(ans, dp[i]);
	cout << ans << endl;
}

int32_t main() {
	ios_base::sync_with_stdio(0); cin.tie(0);
	int tttt = 1;
	//cin >> tttt;
	while (tttt--) solve();
}
#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...