0
任泓涛
资深守护
资深守护
题目链接: 酷町堂:2740
#include <bits/stdc++.h>
using namespace std;
int n,t,m,a[25],maxn;
void dfs(int x,int y,int z,int s){
maxn=max(maxn,s);
if(x>n){
return;
}
for(int i=x+1;i<=n;i++){
if(z+a[i]<=t){
dfs(i,y,z+a[i],s+1);
}
}
if(y<m)dfs(x+1,y+1,a[x],s+1);
}
int main(){
cin>>n>>t>>m;
for(int i=1;i<=n;i++)cin>>a[i];
dfs(0,1,0,0);
cout<<maxn;
return 0;
}