AT_past202209_h.3種の硬貨

通过率:0%

AC君温馨提醒

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

题目描述

高桥有 00 枚金币,10910^9 枚银币,和 XX 枚铜币。

商店一共出售 NN 个包裹。对于 i=1,2,…,Ni=1,2,\ldots,N,第 ii 个包裹可以通过支付 AiA_i 枚银币和 BiB_i 枚铜币购买。第 ii 个包裹中包含 CiC_i 枚金币,购买该包裹后即可获得其中的金币。

一枚金币价值 1010010010^{100^{100}} 日元(一种日本的货币),一枚银币价值 1010010^{100} 日元,一枚铜币价值 11 日元。高桥希望购买一些(可能为零)包裹,使他最终持有的金币、银币、铜币的总价值最大。请输出在使总价值最大时高桥所拥有的金币、银币、铜币的数量。

购买包裹时所需要的铜币和银币不能用其他种类的硬币代替。例如,虽然一枚银币在日元中相当于 1010010^{100} 枚铜币,但这并不意味着你可以用一枚银币来支付铜币。

输入格式

输入通过标准输入给出,格式如下:

NN XX
A1A_1 B1B_1 C1C_1
A2A_2 B2B_2 C2C_2
⋮\vdots
ANA_N BNB_N CNC_N

输出格式

请输出使得最终总价值最大的情况时的金币 PP、银币 QQ、铜币 RR 的数量,使用空格隔开,格式如下:

PP QQ RR

输入输出样例

  • 输入#1

    5 4
    2 2 3
    2 2 2
    3 1 2
    1 3 1
    1 2 2

    输出#1

    5 999999997 0
  • 输入#2

    20 50
    4 3 7
    2 0 8
    7 2 4
    9 0 9
    6 5 8
    4 7 1
    3 9 2
    3 9 2
    7 4 4
    2 7 3
    6 3 2
    4 10 8
    2 2 10
    8 1 5
    3 2 6
    3 8 5
    8 1 9
    3 7 4
    9 6 2
    5 6 7

    输出#2

    92 999999930 0

说明/提示

样例解释 1

如果高桥购买了第 11 个和第 55 个包裹,则他共支付了 A1+A5=2+1=3A_1+A_5=2+1=3 枚银币以及 B1+B5=2+2=4B_1+B_5=2+2=4 枚铜币,并获得 C1+C5=3+2=5C_1+C_5=3+2=5 枚金币。这样,他将剩余 55 枚金币,109−310^9-3 枚银币,00 枚铜币。因此总价值为 5×10100100+(109−3)×10100+0×15 \times 10^{100^{100}} + (10^9-3) \times 10^{100} + 0 \times 1 日元,这是最大可能的总价值。

数据范围

  • 1≤N≤30001 \leq N \leq 3000
  • 0≤X≤30000 \leq X \leq 3000
  • 0≤Ai,Bi≤30000 \leq A_i, B_i \leq 3000
  • 1≤Ai+Bi1 \leq A_i + B_i
  • 1≤Ci≤30001 \leq C_i \leq 3000
  • 所有输入数均为整数。

由 ChatGPT 5 翻译

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

首页