```cpp
#include<iostream>
using namespace std;
long long a[23333],MAX[23333]; //a:重量 b:价值'
long long max(long long a,long long b){return a>b?a:b;}
int main(void)
{
int n,v,nn;cin>>n>>v;nn=n;
for(int i=1;i<=nn;i++)
{
cin>>a[i];int num=v/a[i];
for(int j=1;j<=num;j++){n++;a[n]=a[i];}
}
for(int i=1;i<=n;i++)
for(int j=1;j<=v;j++)
if(j-a[i]>=0&&(MAX[j-a[i]]+a[i]<=10000))
MAX[j]=max(MAX[j],MAX[j-a[i]]+a[i]);
int ans=0;
for(int i=1;i<=v;i++)
if(MAX[i]!=0)ans++;
cout<<ans;
}
完美错误代码
```
by 中2少年雷耶斯 @ 2017-05-09 20:24:27
↑没看懂题+不会打代码的结果↑
by 中2少年雷耶斯 @ 2017-05-09 20:27:49
开O2,并把#pragma GCC optimize(3)加在头文件引用的下一行
by CurtLin @ 2018-11-02 19:24:37