1 solutions
-
0
C++ :
#include <bits/stdc++.h> using namespace std; int m,n,ans,sum,a[22],b[10005]; void f(int x,int y,int z) { if(y==n) {b[z]++;return ;} for(int i=x+1;i<=m;i++) f(i,y+1,z+a[i]); } int main() { cin>>m>>n; for(int i=1;i<=m;i++) cin>>a[i]; f(0,0,0);//在第几个位置,一共收集了几个,已经收集的和 for(int i=1;i<=10000;i++) sum=max(b[i],sum); for(int i=10000;i>=1;i--) if(b[i]==sum){ cout<<i; return 0; } }
- 1
Information
- ID
- 1028
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- 10
- Tags
- (None)
- # Submissions
- 4
- Accepted
- 3
- Uploaded By