#4291. 最多3个(At Most 3 (Judge ver.))

最多3个(At Most 3 (Judge ver.))

题目描述

NN个砝码,分别称为砝码11、砝码22、...、砝码NN。砝码ii的质量为AiA_i。如果一个正整数nn满足以下条件,我们称之为"好整数":

  • 我们可以选择最多3个不同的砝码,使它们的总质量为nn

有多少个小于等于WW的正整数是好整数?

输入格式

输入从标准输入中给出,格式如下:

NN WW

A1A_1 A2A_2 \cdots ANA_N

输出格式

输出所求答案。

样例

2 10
1 3
3
2 1
2 3
0
4 12
3 3 3 3
3
7 251
202 20 5 1 4 2 100
48

样例解释

【样例1说明】
如果我们只选择重量1,它的总质量为1,所以1是一个好整数。
如果我们只选择重量2,它的总质量为3,所以3是一个好整数。
如果我们选择重量1和2,它们的总质量为4,所以4是一个好整数。
没有其他的好整数。同时,1、3和4都是小于等于W的整数。因此,答案是3。
【样例2说明】
没有小于等于W的好整数。
【样例3说明】
有3个好整数:3、6和9。
例如,如果我们选择重量1、2和3,它们的总质量为9,所以9是一个好整数。
注意,12不是一个好整数。

数据范围

  • 1N3001 \leq N \leq 300
  • 1W1061 \leq W \leq 10^6
  • 1Ai1061 \leq A_i \leq 10^6
  • 输入中的所有值都是整数。

来源

  • AtCoder ABC251B