0pts 求助!!!

B3624 猫粮规划

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 有可能加上后面的还符合条件


|