CF687C.The Values You Can Make
普及+/提高
通过率:0%
时间限制:2.00s
内存限制:256MB
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 c__i. 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.
帕丽想从阿雅那里买一块昂贵的巧克力。她有 n 枚硬币,第 i 枚硬币的面值为 ci。巧克力的价格为 k,因此帕丽将选出她硬币的一个子集,使其面值之和恰好为 k,并将该子集交给阿雅。
看着自己的硬币,帕丽心中产生了一个问题:在将这些硬币交给阿雅之后,阿雅能用它们凑出哪些面值?她心生嫉妒,不希望阿雅能凑出太多不同的面值。因此,她想知道所有满足如下条件的面值 x:存在一个面值之和为 k 的硬币子集,使得该子集中又存在某个子集,其面值之和恰好为 x。换言之,存在一种支付巧克力费用的方式,使得阿雅能够利用所收到的这些硬币凑出面值 x。
输入格式
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 _c_1, _c_2, ..., c__n (1 ≤ c__i ≤ 500) — the values of Pari's coins.
It's guaranteed that one can make value k using these coins.
第一行包含两个整数 n 和 k(1≤n,k≤500)——分别表示硬币的数量和巧克力的价格。
下一行包含 n 个整数 c1,c2,…,cn(1≤ci≤500)——表示帕里拥有的硬币的面值。
保证可以使用这些硬币凑出总价值 k。
输出格式
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.
输出的第一行必须包含一个整数 q——即满足条件的 x 的个数。随后按升序输出 q 个整数——这些是 Arya 能够用 Pari 的硬币子集凑出、用于支付巧克力费用的所有 x 值。
输入输出样例
输入#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
输入解题思路,AI测评打分。不知道怎么写?