这个是dfs
#include<bits/stdc++.h>
using namespace std;
int k,t[10001],a[101],n,mini=2e9;
inline bool cmp(int a,int b){
return a>b;
}
inline void dfs(int q,int tot) {
if(tot>=mini)return;
if(q>n) {
mini=min(mini,tot);
return;
}
for(int i=1; i<=k; ++i) {
a[i]+=t[q];
dfs(q+1,max(tot,a[i]));
/*if(tot<mini)
mini=tot;*/
a[i]-=t[q];
}
}
int main() {
cin>>n>>k;
for(register int i=1; i<=n; ++i) {
cin>>t[i];
}
stable_sort(t+1,t+n+1,cmp);
dfs(1,0);
printf("%d",mini);
return 0;
}