AT_past19_h 加算と乗算

题目描述

给定一个整数 $S$,以及 $N$ 个整数 $a_1,a_2,\dots,a_N$。 你能否只用 $+$、$\times$ 运算符和这 $N$ 个整数构造出一个表达式,使得表达式的值恰好为 $S$? 其中, - 每个整数必须且只能使用一次。 - 可以随意重新排列整数的顺序。 - 不可以使用括号。 - 不可以将整数直接拼接(即不能将 $1$ 和 $2$ 拼接成 $12$)。

输入格式

输入从标准输入读取,格式如下: > $N$ $S$ $a_1$ $a_2$ $\dots$ $a_N$

输出格式

如果无法构造出值为 $S$ 的表达式,则输出 `No`。 如果可以,请输出如下格式,其中 $E$ 指代符合要求的一个表达式: > Yes $E$ 表达式中不应包含空格或换行。运算符 $+$ 和 $\times$ 分别使用 `+` 和 `x` 表示。 例如,表达式 $1\times 2 + 3 \times 4 \times 5$ 必须输出为: ``` 1x2+3x4x5 ``` 如有多组可行解,输出任意一个均可。

说明/提示

### 样例解释 1 表达式 $1 + 2 \times 5$ 满足题意,可以输出此表达式。 表达式 $2 \times 5 + 1$ 同样满足要求,也可以输出。 ### 样例解释 2 如果 $a_1, a_2, \dots, a_N$ 中有相同的整数,必须使用它们各自出现的次数。 ### 数据范围 - $2 \leq N \leq 6$ - $1 \leq S \leq 10^{18}$ - $1 \leq a_i \leq 1000$ - 输入的所有数均为整数。 由 ChatGPT 5 翻译