题目详情
解题代码
#include<iostream>
using namespace std;
int m,n;
int a[10];
int ans=1e9;
void dfs(int u)
{
if(u==m)
{
int ma=-1e9,mi=1e9;
for(int i=0;i<m;i++)
{
ma=max(ma,a[i]);
mi=min(mi,a[i]);
}
ans=min(ans,ma-mi);
}
for(int i=0;i<u;i++)
for(int j=i+1;j<u;j++)
{
a[i]+=a[j];
swap(a[j],a[u-1]);
dfs(u-1);
swap(a[j],a[u-1]);
a[i] -=a[j];
}
}
int main()
{
cin >> n >> m;
for(int i=0;i<n;i++) cin >> a[i];
dfs(n);
cout << ans;
return 0;
}