AT_ahc037_a.[AHC037A] Soda

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

碳酸饮料的甜度和碳酸强度分别表示为非负整数。饮料的甜度为 xx、碳酸强度为 yy 时,记为 (x,y)(x, y)。

刚开始,你仅有一种饮料 (0,0)(0, 0)。记已经制作出的饮料集合为 SS,起初 S={(0,0)}S = \{(0, 0)\}。

你可以重复以下操作来制作更多种类的饮料:

  1. 从集合 SS 中选择一瓶饮料 (x,y)(x, y);
  2. 选择满足 x′≥xx' \ge x 和 y′≥yy' \ge y 的整数 x′,y′x', y';
  3. 将 (x,y)(x, y) 分成两部分,一部分保持不变,另一部分通过添加糖浆和碳酸制作成新的饮料 (x′,y′)(x', y'),然后将 (x′,y′)(x', y') 添加到 SS 中。
    • 注意,(x,y)(x, y) 并不会从集合 SS 中移除。
  4. 该操作的代价为 (x′−x)+(y′−y)(x' - x) + (y' - y)。

输入包含 NN 种指定的饮料 (A1,B1),…,(AN,BN)(A_1, B_1), \dots, (A_N, B_N)。你需要在最多 5N5N 次操作内,找到一种制作出所有指定饮料的操作序列,同时使总代价尽可能小。操作过程中,有权制作一些未在输入中给出的饮料。

输入格式

输入按照如下格式给出:

NN A1A_1 B1B_1 ⋮\vdots ANA_N BNB_N

所有输入均为整数,满足以下约束条件:

  • N=1000N = 1000
  • 0≤Ai<1090 \le A_i < 10^9
  • 0≤Bi<1090 \le B_i < 10^9
  • A1,A2,…,ANA_1, A_2, \dots, A_N 两两不同
  • B1,B2,…,BNB_1, B_2, \dots, B_N 两两不同
  • 存在某个 ii 使得 Ai=0A_i = 0
  • 存在某个 ii 使得 Bi=0B_i = 0

输出格式

若执行的操作次数为 MM,并在第 mm 次操作中从 (xm,ym)(x_m, y_m) 制作出 (xm′,ym′)(x'_m, y'_m),则输出应为:

MM x1x_1 y1y_1 x1′x'_1 y1′y'_1 ⋮\vdots xMx_M yMy_M xM′x'_M yM′y'_M

所有输出均为整数,并需满足以下条件:

  • 0≤M≤5N0 \le M \le 5N
  • 0≤xm≤xm′<1090 \le x_m \le x'_m < 10^9 且 0≤ym≤ym′<1090 \le y_m \le y'_m < 10^9
  • 对于任意 (xm,ym)≠(0,0)(x_m, y_m) \ne (0, 0),存在 k<mk < m 使得 (xm,ym)=(xk′,yk′)(x_m, y_m) = (x'_k, y'_k)
  • 对于任意 (Ai,Bi)≠(0,0)(A_i, B_i) \ne (0, 0),存在某个操作 mm 使得 (Ai,Bi)=(xm′,ym′)(A_i, B_i) = (x'_m, y'_m)

此外,如果存在代价为 CC 的操作序列不满足 M≤5NM \le 5N 的条件,则一定存在代价不大于 CC 的操作序列满足所有条件。

得分说明

总代价记为 CC,L=max⁡{A1,B1,A2,B2,…,AN,BN}L = \max\{A_1, B_1, A_2, B_2, \dots, A_N, B_N\}。得分按以下公式计算:round(106×NL1+C)\mathrm{round}\left(10^6 \times \frac{NL}{1 + C}\right)。

共有 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测评打分。不知道怎么写?

首页