求该代码时间复杂度(有帮助必玄关)
  • 板块学术版
  • 楼主Gaochenxi103_QWQ
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/12/21 23:07
  • 上次更新2024/12/22 11:17:27
查看原帖
求该代码时间复杂度(有帮助必玄关)
717476
Gaochenxi103_QWQ楼主2024/12/21 23:07
#include<bits/stdc++.h>
using namespace std;
const int N=2e2+10;
int n,m,w[N],f[10200000],mx=-1;
void dfs(int kind,int num,int all,int now)
{
	if(kind>m || all>n)return ;
//	cout<<kind<<" "<<num<<" "<<now<<"\n";
	f[now]=1;
	mx=max(mx,now);
	if(num+1<=n)dfs(kind,num+1,all+1,now+w[kind]);
	dfs(kind+1,0,all,now);
}
int main()
{
	cin>>m>>n;
	for(int i=1;i<=m;i++)cin>>w[i];
	sort(w+1,w+m+1);
	dfs(1,0,0,0);
	int ans=0,cnt=0;
	for(int i=1;i<=mx;i++)
	{
//		cout<<f[i]<<" ";
		if(f[i]==0)
		{
			ans=max(cnt,ans);
			cnt=0;
		}
		else
		{
			cnt++;
		}
	}
	cout<<ans;
	return 0;
}

2024/12/21 23:07
加载中...