LG#B3624. 【GESP强化 六级】猫粮规划

提交1 通过1
通过率100%
时间限制2000ms
内存限制128MiB
    ID: 10350 传统题 2000ms 128MiB 尝试: 1 已通过: 1 难度: 普及 上传者: 标签>背包问题GESPGESP强化C++c++编程题洛谷公开题动态规划 DP深度优先搜索 DFS剪枝背包 DP折半搜索 meet in the middle2星

题目描述

到中午了,机器猫要吃猫粮了。

机器猫掏出 nn 份食物,第 ii 份食物含有的能量为 w[i]w[i]。机器猫可以吃掉其中一些食物,获得这些食物的能量之和。

机器猫又不想变得太胖又不想变得太瘦,所以指定了一个目标区间 [l,r][l, r]。显然,可能有很多种选择食物的方式可以达成这个目标,因此机器猫想知道方案总数。

输入格式

第一行,三个正整数 n,l,rn, l, r

第二行,nn 个正整数,表示每一份食物含有的能量 w[i]w[i]

输出格式

仅一行,一个整数,表示方案数。

4 70 85
10 10 20 50
4
1 20 20
20
1
3 300 300
100 100 100
1

说明/提示

样例解释

所有方案如下:

选择食物 1,2,41, 2, 4,能量 10+10+50=7010+10+50 = 70
选择食物 1,3,41, 3, 4,能量 10+20+50=8010+20+50 = 80
选择食物 2,3,42, 3, 4,能量 10+20+50=8010+20+50 = 80
选择食物 3,43, 4,能量 50+20=7050+20 = 70

44 种方案。

数据规模与约定

对于 50%50\% 的数据,满足 n20n\leq 20

对于 100%100\% 的数据,满足 n40,20w[i]100,lr300n\leq 40, 20\leq w[i] \leq 100, l\leq r \leq 300

提示:w[i]w[i] 在范围内均匀随机生成。