NC208609. 旅游的事前准备
描述
输入描述
第一行两个数n(1<=n<=20),m(1<=m<=1000),分别表示零食的数量和背包最大载重
接下来n行,每行两个数w,z(1<=w,z<=1000),第i种零食的重量与开心值(wi,zi)。
输出描述
输出一个数,最大开心值的合计。
示例1
输入:
4 20 10 18 11 22 4 7 6 11
输出:
36
C++11(clang++ 3.9) 解法, 执行用时: 3ms, 内存消耗: 400K, 提交时间: 2020-07-25 19:01:53
#include<bits/stdc++.h> using namespace std; int dp[1010]; int main() { int n,m,w,z; cin>>n>>m; for(int i=1;i<=n;i++) { cin>>w>>z; for(int j=m;j>=w;j--) { dp[j]=max(dp[j],dp[j-w]+z); } } cout<<dp[m]<<endl; }