求调!只A了#1
查看原帖
求调!只A了#1
654763
smallpeople楼主2024/6/11 19:33
#include<bits/stdc++.h>
using namespace std;
#define ll long long

ll n,c,ans;
ll a[1005],b[1005];

int dfs(int u,int cc)
{
	//cout<<u<<" "<<cc<<'\n';
	if(b[u - 1] <= cc)return b[u - 1];
	
	ll res = 0;
	for(int i = u - 1;i >= 1;i --)
	{
		res = 0;
		if(cc >= a[i])
		{
			cc -= a[i];
			res += a[i] + dfs(i,cc);
			//cout<<res<<" !/n ";
			ans = max(ans,res);
			cc += a[i];
		}
	}
	
	return res;
}

int main()
{
	cin>>n>>c;
	for(int i = 1;i <= n;i ++)
		cin>>a[i],b[i] = b[i - 1] + a[i];
	
	dfs(n + 1,c);
	
	cout<<ans;
	
	return 0;
}
2024/6/11 19:33
加载中...