2458. 飞猪的粮食规划
1000ms
256MB
简单
深度优先搜索
DFS
题目描述
到中午了,飞猪要吃粮食了。
飞猪掏出 $n$ 份粮食,第 $i$ 份粮食含有的能量为 $w[i]$。飞猪可以吃掉其中一些粮食,获得这些粮食的能量之和。
飞猪既不想变得太胖又不想变得太瘦,所以指定了一个目标区间 $[l, r]$。飞猪想知道,有多少种不同的粮食组合,使得摄入的总能量落在该区间内?
输入格式
- 第一行包含三个正整数 $n, l, r$。
- 第二行包含 $n$ 个正整数,表示每一份粮食含有的能量 $w[i]$。
输出格式
- 仅一行,一个整数,表示方案总数。
样例 1
输入 (Input)
输出 (Output)
样例说明
符合条件的方案如下:
1. 选择食物 1, 2, 4:$10+10+50 = 70$
2. 选择食物 1, 3, 4:$10+20+50 = 80$
3. 选择食物 2, 3, 4:$10+20+50 = 80$
4. 选择食物 3, 4:$20+50 = 70$
共 4 种方案。
### **数据范围**
- 对于 $100\%$ 的数据:
- $n \le 40$
- $20 \le w[i] \le 100$
- $l \le r \le 300$
› 输入 stdin
CtrlShiftEnter
‹ 输出 stdout
错误 stderr
操作成功