90pts求助
查看原帖
90pts求助
707616
whb569楼主2022/11/3 23:32

为什么第三个点wa

#include <iostream>
using namespace std;
int n;
long long c,fama[35],qianzhuihe[35],ans;
void dfs(long long thisans,int cur)
{
	if(thisans+qianzhuihe[cur]<=ans)return;
	ans=max(ans,thisans);
	if(cur==0)return;
	if(thisans+fama[cur]<=c)dfs(thisans+fama[cur],cur-1);
	dfs(thisans,cur-1);
}
int main()
{
	cin>>n;
	cin>>c;
	for(int i=1;i<=n;i++)
	{
		cin>>fama[i];
		qianzhuihe[i]=fama[i]+qianzhuihe[i-1];
	}
	dfs(0,n);
	cout<<ans;
}
2022/11/3 23:32
加载中...