为什么!!!!!!!!!!!!!!!!!

#include<bits/stdc++.h>
using namespace std;
int n,a,l,r,a[41];
long long sum=0;
void dfs(int i)
{
	if(sum>r)
	{
		return;
	}
	if(i>n)
	{
		cnt+=(sum>=l&&sum<=r);
	}
	else
	{
		dfs(i+1,sum);
		dfs(i+1,sum+a[i]);
	}

}
int main()
{
	cin>>n>>l>>r;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	dfs(1,0);
	cout<<sum<<end;
	return 0;
}
1 个赞

这个代码编译错误有点多呀…

1.定义了两个a,第三行。
2.cnt没有定义,第十三行。
3.dfs函数调用时参数太多,第十七行。
4.end打错了,是endl,第二十五行
然后可以的话把题目发一下

@林锦鸿