AT_abc441_f.[ABC441F] Must Buy

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

一家商店出售 NN 件商品,编号分别为商品 11、商品 22、…\ldots、商品 NN。

第 ii 件 (1≤i≤N)(1\leq i\leq N) 商品的价格为 PiP_i 日元,价值为 ViV_i。该商店每种商品只有一件存货。

高桥想选择一些商品,使总价最多为 MM 日元。

在这里,可以保证 MM 至少是任何一件商品的价格。也就是说,对于任意 1≤i≤N1\leq i\leq N,都存在一种方法来选择商品,使得总价最多为 MM 日元,并且包含商品 ii。

对于每个 1≤i≤N1\leq i\leq N,确定商品 ii 属于以下三类中的哪一类:

  • A 类:为了使所选商品的总价值最大(同时使总价不超过 MM 日元),必须选择该商品。
  • B 类:为了使所选商品的总价值最大(同时使总价不超过 MM 日元),可以选择该商品,也可以不选择该商品。
  • C 类:要使所选商品的总价值最大(同时使总价不超过 MM 日元),则绝对不能选择该商品。

输入格式

输入内容按如下格式给出:

NN MM\\
P1P_1 V1V_1\\
P2P_2 V2V_2\\
⋮\vdots\\
PNP_N VNV_N\\

输出格式

打印由 A、B 和 C 组成的长度为 NN 的字符串。

如果商品 ii (1≤i≤N)(1\leq i\leq N) 属于类别 XX(其中 XX 是 A、B 或 C),则输出字符串的第 ii 个字符应为 XX。

输入输出样例

  • 输入#1

    5 7
    2 5
    2 5
    3 5
    3 10
    3 20

    输出#1

    BBCBA
  • 输入#2

    7 3
    1 1
    1 1
    1 2
    1 2
    1 2
    1 3
    1 3

    输出#2

    CCBBBAA

说明/提示

样例 11 解释

在选择商品时,如果总价最多为 77 日元,则可能的最大总价值为 3030 日元,可以通过以下方法之一实现:

  • 选择商品 11、22 和 55。
  • 选择商品 44 和 55。

(没有其他方法可以选择商品,使总价最多为 77 日元,总价值为 3030 日元)。

因此,每个商品的类别如下:

  • 商品 55 是为了使所选商品的总价值最大而必须选择的商品(A 类)。
  • 商品 11、22 和 44 是为了使所选商品的总价值最大而可能选择或不选择的商品(B 类)。
  • 商品 33 是一个绝对不可能被选中来最大化所选商品总价值的商品(C 类)。

因此,根据输出格式,打印 BBCBA。

样例 22 解释

从商品 33、44、55 中任选一项,并选择商品 66 和 77,使得总价值最大。

请注意,即使两个商品的价格和价值均相同,它们仍会被区分为不同的商品。

数据规模与约定

对于 100%100\% 的数据:

  • 1≤N≤10001\leq N\leq 1000
  • 1≤M≤5×1041\leq M\leq 5\times 10^4
  • 1≤Pi≤M1\leq P_i\leq M
  • 1≤Vi≤1091\leq V_i\leq 10^9
  • 所有输入值均为整数。

输入解题思路,AI测评打分。不知道怎么写?

首页