洛谷P1049装箱问题

一句话刚刚的题会了,这题能不会么。

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int main(){
 4     int n,m;
 5     cin>>m;
 6     cin>>n;
 7     int f[20010]={0},money[100010];
 8     f[0]=1;
 9     for (int i=1;i<=n;i++) cin>>money[i];
10     for (int i=1;i<=n;i++)
11         for (int j=m;j>=money[i];j--)
12           f[j]+=f[j-money[i]];
13     for (int i=m;i>=0;i--)
14         if (f[i]!=0) {
15             cout<<m-i<<endl;
16             return 0;
17         }
18 }

猜你喜欢

转载自www.cnblogs.com/fnbk/p/9347928.html