#include<bits/stdc++.h>
using namespace std;
int n,c[20],w,l[20],b[20],cnt=0;
bool cmp(int a,int b){
return a>b;
}
int main(){
cin>>n>>w;
for(int i=1;i<=n;i++) cin>>c[i];
sort(c+1,c+n+1,cmp);
for(int i=1;i<=n;i++){
if(b[i]) continue;
l[i]=c[i];
for(int j=i+1;j<=n;j++){
if(!b[j]&&l[i]+c[j]<=w){
l[i]+=c[j];
b[i]=b[j]=1;
}
}
}
for(int i=1;i<=n;i++){
if(l[i]){
cnt++;
}
}
cout<<cnt;
return 0;
}
我就不用深度优先搜索,DFS
然后就WA了