社区讨论
全WA求调
B3624猫粮规划参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lt8pf27c
- 此快照首次捕获于
- 2024/03/01 21:42 2 年前
- 此快照最后确认于
- 2024/03/02 08:20 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
int n,l,r,a[1000005],vis[1000005],ans;
int total(int x,int y)
{
int rt=0;
for(int i=x;i<=y;i++)
rt+=a[i];
return rt;
}//计算后面的数的和
void dfs(int sum,int step)
{
if(sum>=l){
if(sum<=r)ans++;
return;
}
for(int i=step;i<=n;i++)
{
if(!vis[i])
{
if(total(i,n)+sum<l)break;//如果加起来都不够就直接跳过
vis[i]=1;
dfs(sum+a[i],i+1);
vis[i]=0;
}
}
}
int main()
{
cin>>n>>l>>r;
for(int i=1;i<=n;i++)
cin>>a[i];
dfs(0,1);
cout<<ans;
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...