TLE 求助
查看原帖
TLE 求助
1247088
Ker_White楼主2024/7/16 10:49
#include<bits/stdc++.h>
#define homo 114514
using namespace std;
int a[homo],l,r,n,sum=0,Mdata[homo],ts=0,b;
bool vis[homo];
void dfs(int x) {
	if(x == r+1) {
		ts=0;			
		for(int i=1;i<=r;i++)
		{
			ts+=Mdata[a[i]];
		}
		if(ts>=l && ts<=b)
		{
			sum++;
		}
		return;	
	}
	for(int i = a[x-1]+1; i<= n; i++) {
		if(vis[i] == false) {
			a[x] = i;
			vis[i] = true;
			dfs(x+1);
			vis[i] = false;
		}
	}
	return;
}
int main()
{
	cin>>n>>l>>b;
	for(int i=1;i<=n;i++)
	{
		cin>>Mdata[i];
		ts+=Mdata[i];
		if(Mdata[i]>=l && Mdata[i]<=b)
		{
			sum++;
		}	
	}
	if(ts>=l && ts<=b)
	{
		sum++;
	}
	for(int i=2;i<=n-1;i++)
	{
		r=i;
		dfs(1);
	}	
	cout<<sum;
	return 0;
}

#6~#10 TLE!!!!!!!

2024/7/16 10:49
加载中...