为啥老是waiting
  • 板块UVA624 CD
  • 楼主Astatinear
  • 当前回复10
  • 已保存回复10
  • 发布时间2021/5/11 18:18
  • 上次更新2023/11/4 23:23:42
查看原帖
为啥老是waiting
428690
Astatinear楼主2021/5/11 18:18

嗷嗷嗷

为什么提交不起啊!!! 老是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;
	}
}
2021/5/11 18:18
加载中...