SZ#G6KP17. 【GESP强化 六级】金额组合

提交1 通过1
通过率100%
时间限制2000ms
内存限制256MiB
    ID: 11561 传统题 2000ms 256MiB 尝试: 1 已通过: 1 难度: 入门 上传者: 标签>GESPGESP强化C++c++编程题背包问题0/1背包可达性1星

题目描述

你有 nn 枚硬币,每枚硬币都有一个给定的面值。每枚硬币最多使用一次。请找出使用这些硬币能够组成的所有正整数金额。

输入格式

第一行包含一个整数 nn,表示硬币数量。

第二行包含 nn 个整数 x1,x2,,xnx_1,x_2,\ldots,x_n,表示各枚硬币的面值。

输出格式

首先输出一个整数 kk,表示能够组成的不同正整数金额数量;然后按从小到大的顺序输出所有这些金额。

4
4 2 5 2
9
2 4 5 6 7 8 9 11 13
2
54 977
3
54 977 1031
3
275 749 211
7
211 275 486 749 960 1024 1235

说明/提示

数据范围与约定

  • 1n1001\le n\le100
  • 1xi10001\le x_i\le1000