#include <iostream>
#include <cmath>
#include <algorithm>
#include <map>
using namespace std;
map<int,int>q;
int a[99999];
int n,m;
int num=0;
int dfs(int x,int y,int z) //第X个 已经加了Y个了 总和已经达到Z
{
if(y==m)
{
cout<<z<<endl;
return 0;
}
if(x==n) //没加满 没数了
{
return 0;
}
dfs(x+1,y+1,z+a[x]);//加上
dfs(x+1,y,z);//不加
}
int main ()
{
cin>>n>>m;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
sort(a,a+n);
dfs(0,0,0);
return 0;
}
#include <cmath>
#include <algorithm>
#include <map>
using namespace std;
map<int,int>q;
int a[99999];
int n,m;
int num=0;
int dfs(int x,int y,int z) //第X个 已经加了Y个了 总和已经达到Z
{
if(y==m)
{
cout<<z<<endl;
return 0;
}
if(x==n) //没加满 没数了
{
return 0;
}
dfs(x+1,y+1,z+a[x]);//加上
dfs(x+1,y,z);//不加
}
int main ()
{
cin>>n>>m;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
sort(a,a+n);
dfs(0,0,0);
return 0;
}