#include #include #include using namespace std; typedef long long ll; const int B = 3; ll a[110]; vector v[2]; void dfs(int pos,int n,int cnt,int num, int id,ll sum){ if(pos==n){ v[id].push_back(sum); }else{ dfs(pos + 1,n,cnt,num,id,sum); if(cnt + 1<=num) dfs(pos,n,cnt + 1,num,id,sum + a[pos]); } } int main(){ ll i,j,l,n,m,k; cin >> n >> m >> k; for(i=0;i> a[i]; if(k<=B){ dfs(0,n,0,k,0,0); sort(v[0].rbegin(),v[0].rend()); for(i=0;i=0) ans = max(ans,x + v[1][pos]); } cout << ans << "\n"; } }