AT_ttpc2022_b Magical Wallet
题目描述
你拥有一个装有 $X$ 日元的魔法钱包。
只要对这个钱包施放魔法,你可以把钱包内的金额视作一个十进制字符串,并且任意重新排列其位数。例如,钱包里有 $120$ 日元时,你可以将金额变为 $12$、$21$、$102$、$120$、$201$、$210$ 中的任意一个(忽略数字首位的 $0$)。
你将带着这只魔法钱包**按顺序**访问 $N$ 家商店。在第 $i$ 家商店($1 \leq i \leq N$)有一件售价 $A_i$ 日元的商品。如果你的魔法钱包中至少有 $A_i$ 日元,你就可以支付 $A_i$ 日元并购买此商品。
你可以在任何时刻、任意次数施放魔法。你最多可以购买多少件商品?
输入格式
输入以如下格式从标准输入获取:
> $N$ $X$ $A_1$ $A_2$ $\cdots$ $A_N$
输出格式
输出最大能购买的商品件数。
说明/提示
### 样例解释 1
在去第一家商店前,如果将钱包内金额 $120$ 重排为 $201$,则可以购买商品,此时钱包余额为 $59$。接着,再重排后变为 $95$ 日元,就能在下一家商店继续购买。如果第一步将钱包金额变成 $210$ 日元,虽然也能在第一家商店购买,但余额变成 $68$,第二家却无法再购买。
### 样例解释 2
请注意,有时候你可以购买价格高于最初 $X$ 日元的商品。
### 样例解释 3
你也可以把数字排列成以 $0$ 开头的数。
### 约束条件
- 输入均为整数。
- $1 \leq N \leq 100$
- $1 \leq X < 10^4$
- $1 \leq A_i < 10^4$($1 \leq i \leq N$)
由 ChatGPT 5 翻译