AT_ahc037_a.[AHC037A] Soda
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
碳酸饮料的甜度和碳酸强度分别表示为非负整数。饮料的甜度为 x、碳酸强度为 y 时,记为 (x,y)。
刚开始,你仅有一种饮料 (0,0)。记已经制作出的饮料集合为 S,起初 S={(0,0)}。
你可以重复以下操作来制作更多种类的饮料:
- 从集合 S 中选择一瓶饮料 (x,y);
- 选择满足 x′≥x 和 y′≥y 的整数 x′,y′;
- 将 (x,y) 分成两部分,一部分保持不变,另一部分通过添加糖浆和碳酸制作成新的饮料 (x′,y′),然后将 (x′,y′) 添加到 S 中。
- 注意,(x,y) 并不会从集合 S 中移除。
- 该操作的代价为 (x′−x)+(y′−y)。
输入包含 N 种指定的饮料 (A1,B1),…,(AN,BN)。你需要在最多 5N 次操作内,找到一种制作出所有指定饮料的操作序列,同时使总代价尽可能小。操作过程中,有权制作一些未在输入中给出的饮料。
输入格式
输入按照如下格式给出:
N A1 B1 ⋮ AN BN
所有输入均为整数,满足以下约束条件:
- N=1000
- 0≤Ai<109
- 0≤Bi<109
- A1,A2,…,AN 两两不同
- B1,B2,…,BN 两两不同
- 存在某个 i 使得 Ai=0
- 存在某个 i 使得 Bi=0
输出格式
若执行的操作次数为 M,并在第 m 次操作中从 (xm,ym) 制作出 (xm′,ym′),则输出应为:
M x1 y1 x1′ y1′ ⋮ xM yM xM′ yM′
所有输出均为整数,并需满足以下条件:
- 0≤M≤5N
- 0≤xm≤xm′<109 且 0≤ym≤ym′<109
- 对于任意 (xm,ym)=(0,0),存在 k<m 使得 (xm,ym)=(xk′,yk′)
- 对于任意 (Ai,Bi)=(0,0),存在某个操作 m 使得 (Ai,Bi)=(xm′,ym′)
此外,如果存在代价为 C 的操作序列不满足 M≤5N 的条件,则一定存在代价不大于 C 的操作序列满足所有条件。
得分说明
总代价记为 C,L=max{A1,B1,A2,B2,…,AN,BN}。得分按以下公式计算:round(106×1+CNL)。
共有 150 个测试用例,总得分为各测试用例得分之和。若某测试用例输出不合法或超时,则整体提交结果为错误 (WA) 或超时 (TLE)。比赛结束后不进行系统测试。得分相同者排名一致,与提交时间无关。
本翻译由 AI 自动生成
输入输出样例
输入#1
4 0 6 2 5 3 2 4 0
输出#1
6 0 0 2 0 0 0 0 6 2 0 4 0 2 0 2 2 2 2 3 2 2 2 2 5
输入解题思路,AI测评打分。不知道怎么写?