CF687C.The Values You Can Make
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Pari wants to buy an expensive chocolate from Arya. She has n coins, the value of the i -th coin is ci . The price of the chocolate is k , so Pari will take a subset of her coins with sum equal to k and give it to Arya.
Looking at her coins, a question came to her mind: after giving the coins to Arya, what values does Arya can make with them? She is jealous and she doesn't want Arya to make a lot of values. So she wants to know all the values x , such that Arya will be able to make x using some subset of coins with the sum k .
Formally, Pari wants to know the values x such that there exists a subset of coins with the sum k such that some subset of this subset has the sum x , i.e. there is exists some way to pay for the chocolate, such that Arya will be able to make the sum x using these coins.
输入格式
The first line contains two integers n and k ( 1<=n,k<=500 ) — the number of coins and the price of the chocolate, respectively.
Next line will contain n integers c1,c2,...,cn ( 1<=ci<=500 ) — the values of Pari's coins.
It's guaranteed that one can make value k using these coins.
输出格式
First line of the output must contain a single integer q — the number of suitable values x . Then print q integers in ascending order — the values that Arya can make for some subset of coins of Pari that pays for the chocolate.
输入输出样例
输入#1
6 18 5 6 1 10 12 2
输出#1
16 0 1 2 3 5 6 7 8 10 11 12 13 15 16 17 18
输入#2
3 50 25 25 50
输出#2
3 0 25 50