#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,第二十五行
然后可以的话把题目发一下