AT_abc441_f [ABC441F] Must Buy

题目描述

一家商店出售 $N$ 件商品,编号分别为商品 $1$、商品 $2$、$\ldots$、商品 $N$。 第 $i$ 件 $(1\leq i\leq N)$ 商品的价格为 $P_i$ 日元,价值为 $V_i$。该商店每种商品只有一件存货。 高桥想选择一些商品,使总价最多为 $M$ 日元。 在这里,可以保证 $M$ 至少是任何一件商品的价格。也就是说,对于任意 $1\leq i\leq N$,都存在一种方法来选择商品,使得总价最多为 $M$ 日元,并且包含商品 $i$。 对于每个 $1\leq i\leq N$,确定商品 $i$ 属于以下三类中的哪一类: - A 类:为了使所选商品的总价值最大(同时使总价不超过 $M$ 日元),必须选择该商品。 - B 类:为了使所选商品的总价值最大(同时使总价不超过 $M$ 日元),可以选择该商品,也可以不选择该商品。 - C 类:要使所选商品的总价值最大(同时使总价不超过 $M$ 日元),则绝对不能选择该商品。

输入格式

输入内容按如下格式给出: >$N$ $M\\$ $P_1$ $V_1\\$ $P_2$ $V_2\\$ $\vdots\\$ $P_N$ $V_N\\$

输出格式

打印由 `A`、`B` 和 `C` 组成的长度为 $N$ 的字符串。 如果商品 $i$ $(1\leq i\leq N)$ 属于类别 $X$(其中 $X$ 是 `A`、`B` 或 `C`),则输出字符串的第 $i$ 个字符应为 $X$。

说明/提示

### 样例 $1$ 解释 在选择商品时,如果总价最多为 $7$ 日元,则可能的最大总价值为 $30$ 日元,可以通过以下方法之一实现: - 选择商品 $1$、$2$ 和 $5$。 - 选择商品 $4$ 和 $5$。 (没有其他方法可以选择商品,使总价最多为 $7$ 日元,总价值为 $30$ 日元)。 因此,每个商品的类别如下: - 商品 $5$ 是为了使所选商品的总价值最大而必须选择的商品(A 类)。 - 商品 $1$、$2$ 和 $4$ 是为了使所选商品的总价值最大而可能选择或不选择的商品(B 类)。 - 商品 $3$ 是一个绝对不可能被选中来最大化所选商品总价值的商品(C 类)。 因此,根据输出格式,打印 `BBCBA`。 ### 样例 $2$ 解释 从商品 $3$、$4$、$5$ 中任选一项,并选择商品 $6$ 和 $7$,使得总价值最大。 请注意,即使两个商品的价格和价值均相同,它们仍会被区分为不同的商品。 ### 数据规模与约定 对于 $100\%$ 的数据: - $1\leq N\leq 1000$ - $1\leq M\leq 5\times 10^4$ - $1\leq P_i\leq M$ - $1\leq V_i\leq 10^9$ - 所有输入值均为整数。