MATAIN @ 2024-10-09 23:56:58
是不是思路有问题
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int a[105],l,r,n;
ll ans=0;
void dfs(int x,int w)
{
if(w>r) return;
if(w>=l&&w<=r){ans++; return;}
for(int i=x+1;i<=n;i++) dfs(i,w+a[i]);
}
int main()
{
cin>>n>>l>>r;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++) dfs(i,a[i]);
cout<<ans;
return 0;
}
by propitious @ 2024-12-05 19:46:20
if(w>=l&&w<=r) 这里不用return 有可能加上后面的还符合条件