#include<iostream>
#include<algorithm>
#include<string.h>
#include<cmath>
#define N 100
using namespace std;
int a[N];
int mt[N];
int bestTime=100000;
int n,k;
void dfs(int t){
if(t>=n){
int maxTime=mt[0];
for(int i=1; i<k; i++){
maxTime=max(mt[i],maxTime);
}
bestTime=min(bestTime, maxTime);
return;
}
else{
for(int i=0;i<k;i++){
mt[i]+=a[t];
if(mt[i]<bestTime){
dfs(t+1);
}
mt[i]-=a[t];
}
}
}
int main()
{
cin>>n>>k;
for(int i=0; i<n; i++) {
cin>>a[i];
mt[i]=0;
}
dfs(0);
cout<< bestTime<<endl;
}
最好的度问题
最新推荐文章于 2024-09-16 17:46:36 发布