84分求助(dfs)
查看原帖
84分求助(dfs)
955954
Miracle_InDream楼主2024/2/28 21:50
#include<bits/stdc++.h>
using namespace std;
int n,b;
int h[25];
int minn=100;
void dfs(int ans,int cnt,int tall)
{
	if(ans==n)
	{
		if(tall>=b)
		{
			minn=min(minn,tall-b);
		}
	}
	for(int i=ans+1;i<=n;i++)
	{
		dfs(i,0,tall);
		dfs(i,1,tall+h[i]);
	}
}
int main()
{
	cin>>n>>b;
	for(int i=1;i<=n;i++)
	{
		cin>>h[i];
	}
	dfs(0,0,0);
	cout<<minn;
	return 0;
}
2024/2/28 21:50
加载中...