AT_arc186_c.[ARC186C] Ball and Box
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
球橋和箱木进行一个用球和箱子的游戏。
一开始,球橋有 M 种不同的球,每种球各有 10100 个,箱木有 10100 日元。同时有 N 个箱子,第 i 个箱子的容量为 Vi,价格为 Pi 日元。在游戏过程中,箱木可以随时购买任意箱子。
游戏过程中,以下操作会不断重复,直到游戏结束:
- 球橋选择一种球,递给箱木。
- 箱木可以选择接收这个球,或者拒绝接收并结束游戏。
- 如果箱木接收了球,他需要从已购买的箱子中选择一个,将球放入该箱子。
- 若放入球后的箱子满足以下条件,箱木获得 1 日元,否则游戏结束:
- 箱子中的球的数量不超过该箱子的容量。
- 箱子中的所有球都是同一种类型。
球橋会采取使箱木最终所持金钱尽可能少的最优策略,反之,箱木会采取使自己最终所持金钱尽可能多的最优策略。请问,整个游戏过程中,箱木的所持金钱最多能增加多少?
注意,双方都能看到所有信息。特别地,球橋可以看到每个箱子的容量和价格,以及每个箱子里装了多少、哪种球。并且,箱木的初始资金足够多,不会因为钱不够而无法购买箱子。
对于每个输入文件,需要解答 T 个测试用例。
输入格式
输入以如下格式从标准输入给出。这里 casei 表示第 i 个测试用例。
T
case1
case2
⋮
caseT
每个测试用例格式如下:
N M
V1 P1
V2 P2
⋮
VN PN
输出格式
请输出在双方都采取最优策略时,箱木最终所持金钱与初始金钱的差值。
输入输出样例
输入#1
3 3 2 1 1000000000 3 1 3 1 1 300000 1000000000 1 10 4 22 5 26 45 72 21 47 39 97 2 75 35 82 24 17 46 32 22 28 67
输出#1
2 0 28
说明/提示
数据范围
- 1≤T,N,M≤3×105
- 1≤Vi,Pi≤109
- 所有测试用例的 N 之和不超过 3×105
- 所有输入均为整数
样例解释 1
第一个测试用例有 2 种球和 3 个箱子。我们把两种球分别叫做白球和黑球,把第 i 个箱子叫做箱 i。以下是箱木最终所持金钱增加 2 日元的一个游戏过程示例:
- 球橋选择白球递给箱木。
- 箱木接收球,并以 1 日元购买箱 2,将白球放入。
- 箱 2 里有 1 个白球,满足条件,箱木获得 1 日元。
- 球橋选择白球递给箱木。
- 箱木接收球,将白球放入箱 2。
- 箱 2 里有 2 个白球,满足条件,箱木获得 1 日元。
- 球橋选择黑球递给箱木。
- 箱木接收球,并以 1 日元购买箱 3,将黑球放入。
- 箱 3 里有 1 个黑球,满足条件,箱木获得 1 日元。
- 球橋选择白球递给箱木。
- 箱木接收球,将白球放入箱 2。
- 箱 2 里有 3 个白球,满足条件,箱木获得 1 日元。
- 球橋选择白球递给箱木。
- 箱木选择不接收,游戏结束。
最终,箱 2 里有 3 个白球,箱 3 里有 1 个黑球。箱木总共花了 2 日元,获得了 4 日元,因此所持金钱增加了 2 日元。
第二个测试用例中,球橋可以采取让箱木无法赚钱的策略。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?