屑标题
60pts,T了4个点:
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e8+100005;
int n,c,ans;
int fa[N];
void dfs(int x,int y){
ans=max(y,ans);
for(int i=1+x;i<=n;i++){
if(y+fa[i]<=c) dfs(i,fa[i]+y);
}
}
signed main(){
cin>>n>>c;
for(int i=1;i<=n;i++){
cin>>fa[i];
}
dfs(0,0);
cout<<ans;
return 0;
}