90分求优化,最后一个点TLE
  • 板块P1164 小A点菜
  • 楼主33s33
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/2/28 21:58
  • 上次更新2024/2/29 13:29:19
查看原帖
90分求优化,最后一个点TLE
1057495
33s33楼主2024/2/28 21:58
#include<bits/stdc++.h>
  
using namespace std;
  
const int N = 110;
  
int a[N];
  
int n,m;
  
int dfs(int k,int x)
  
{
	if(k==m)return 1;
	if(x>n)return 0;
	if(k>m)return 0;
	int ans=0;
  
	for(int i=x;i<=n;i++)
                         
	{
		k+=a[i];
		x=i+1;
		if(k>m)break;
		ans+=dfs(k,x);
		k-=a[i];
	}
  
	return ans;
}
  
int main()
  
{
	cin>>n>>m;
  
	for(int i=1;i<=n;i++)cin>>a[i];
  
	sort(a+1,a+1+n);
  
	cout<<dfs(0,1);
}
2024/2/28 21:58
加载中...