Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
55433 | 112 | T3 作业 | C++ | 解答错误 | 10 | 0 MS | 260 KB | 564 | 2022-08-18 11:01:18 |
#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; }