求大佬回答一下我的疑惑
查看原帖
求大佬回答一下我的疑惑
481621
Zhang_Wenjie楼主2022/8/10 14:29

对于此题,我的代码为什么不加对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];
	//sort(a+1,a+n+1);
	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; 	
}
2022/8/10 14:29
加载中...