绿红蓝的融合
查看原帖
绿红蓝的融合
1054686
XuOuXiao1024楼主2024/10/3 10:29

record

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,c,w[1005],ans;
bool vis[1005];
void dfs(int x){
    if(x>c) return;
    for(int i=1;i<=n;i++){
        if(!vis[i]){
            vis[i]=true;
            if(x+w[i]>c){ans=max(ans,x);return;}
            dfs(x+w[i]);
            vis[i]=false;
        }
    }
}
signed main(){
    cin>>n>>c;
    for(int i=1;i<=n;i++)cin>>w[i];
    dfs(0);
    cout<<ans;
    return 0;
}
2024/10/3 10:29
加载中...