提交时间:2022-08-18 11:01:18

运行 ID: 55433

#include<bits/stdc++.h> using namespace std; const int mo=1e9+7; int n,m,k,ans,sum,a[10001]; void dfs(int i) { if(sum+a[i]>k){ sum=0; return; } else if(i>n) return; else if(sum!=0){ sum+=a[i]; ans++; dfs(i+1); } else{ sum+=a[i]; dfs(i+1); } } int cmp(int a,int b) { return a<b; } int main() { cin>>n>>m>>k; for(int i=1;i<=n;i++) cin>>a[i]; sort(a,a+n+1,cmp); if(a[1]*m>k) cout<<0<<endl,exit(0); for(int i=1;i<=n;i++){ if(a[i]*m<=k) ans++; } dfs(1); cout<<ans<<endl; return 0; }