rt
有两个样例超时了
#1
输入
19 4
21 60 24 44 81 71 42 9 51 56 41 79 23 60 85 86 72 10 15
输出
233
#2
输入
16 6 11 24 32 63 66 61 23 43 91 42 67 29 51 68 40 50
输出
129
我的代码:
#include<bits/stdc++.h>
using namespace std;
int minn=1e8,n,k,t[50],s[50];
void dfs(int x,int y)
{
if(y>=minn)
{
return ;
}
if(x>n)
{
if(y<minn) minn=y;
return ;
}
for(int i=1;i<=k;i++)
{
if(s[i]+t[x]<=minn)
{
s[i]+=t[x];
dfs(x+1,max(y,s[i]));
s[i]-=t[x];
}
}
}
int main()
{
scanf("%d%d",&n,&k);
for(int i=1;i<=n;i++)
{
scanf("%d",&t[i]);
}
dfs(1,0);
cout << minn;
return 0;
}