对于此题,我的代码为什么不加对a数组的排序就只有62分,排了就AC了?
#include<bits/stdc++.h>
using namespace std;
const int K=200,N=50,Ai=10000;
int k,n,a[N+1],f[K*Ai+1],ans;
int main()
{
cin>>k>>n;
memset(f,0x3f,sizeof(f));
f[0]=0;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++)
for(int j=a[i];j<=k*a[i];j++) f[j]=min(f[j],f[j-a[i]]+1);
for(int i=1;i<=K*Ai+1;i++)
if(f[i]!=1e6 && f[i]<=k) ans++;
else break;
cout<<ans;
return 0;
}