1 条题解
-
0
#include<iostream> using namespace std; int f[45001]={0},w[10001]/*价值*/,c[10001]/*重量*/,n,m; int main() { cin>>m>>n; //不同之处1:输入顺序变了 for(int i=1;i<=n;i++) { cin>>c[i]; w[i]=c[i]; //不同之处2:直接赋值而非输入! } for(int i=1;i<=n;i++) { for(int j=m;j>=c[i];j--) { if(f[j-c[i]]+w[i]>f[j]) f[j]=f[j-c[i]]+w[i]; } } cout<<f[m]; return 0; }
- 1
信息
- ID
- 1786
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 7
- 标签
- 递交数
- 134
- 已通过
- 31
- 上传者