站外题求助
  • 板块灌水区
  • 楼主yitian_
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/4/8 21:41
  • 上次更新2024/4/9 11:18:26
查看原帖
站外题求助
1263486
yitian_楼主2024/4/8 21:41

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;
}
2024/4/8 21:41
加载中...