Submission #650280

#TimeUsernameProblemLanguageResultExecution timeMemory
650280ono_de206Knapsack (NOI18_knapsack)C++14
73 / 100
1085 ms3948 KiB
#include<bits/stdc++.h>
using namespace std;

#define int long long

const int mxn=1e5+10;
const int mxm=2010;

int dp[mxm];
int dp1[mxm];
signed main(){
//	freopen("feast.in","r",stdin);
//	freopen("feast.out","w",stdout);
	int s,n;
	cin>>s>>n;
	vector<int> v(n),w(n),k(n);
	for(int i=0; i<n; i++) cin>>v[i]>>w[i]>>k[i];
	for(int i=0; i<n; i++){
		for(int j=1; j<=min(k[i],s/w[i]); j++){
			for(int k=s; k>=w[i]; k--) dp[k]=max(dp[k],dp[k-w[i]]+v[i]);
		}
	}
	int ans=0;
	for(int i=1; i<=s; i++) ans=max(ans,dp[i]);
	cout<<ans<<'\n';
	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...