50分求调
查看原帖
50分求调
1455973
xiaoli2013楼主2024/10/20 15:52
#include <bits/stdc++.h>
using namespace std;
int a[50],n,c,ans;
bool used[50];
void dfs(int x,int v){
    ans=max(c-v,ans);	
	if(x>n||v==0) {
		return ;
	}	
	for(int i = x ; i <= n ; i++ ){
		if(v>=a[i]){
			dfs(i+1,v - a[i]);
	    }
	}
}
int main()
{
	cin>>n>>c;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	dfs(1,c);
	cout<<ans;
	return 0;	
}

MLE:Subtask #3 TLE:Subtask #4

2024/10/20 15:52
加载中...