嗷嗷嗷
为什么提交不起啊!!! 老是waiting
这个UVA是不是有问题 我只是想知道我自己错了没有 有这么难吗
你们谁有时间帮本蒟蒻测一遍 我没时间(感谢)
下面是代码
#include<bits/stdc++.h>
using namespace std;
int dp[10005],a[105],pre[10005];
int main()
{
int n,m;
while(cin>>n>>m)
{
memset(pre,0,sizeof(pre));
memset(dp,0,sizeof(dp));
memset(a,0,sizeof(a));
for(int i=1;i<=m;++i)
{
cin>>a[i];
}
for(int i=1;i<=m;++i)
{
for(int j=n;j>=a[i];--j)
{
if(j>=a[i])
{
dp[j]=max(dp[j],dp[j-a[i]]+a[i]);
if(dp[j-a[i]]+a[i]>dp[j])
pre[j]=a[i];
}
}
}
int st=dp[n],x=0,ans[1005];
while(pre[st]!=0)
{
ans[++x]=pre[st];
st-=pre[st];
}
for(int i=x;i>=1;--i)
cout<<ans[i]<<" "<<endl;
cout<<"sum:"<<dp[n]<<endl;
}
}