AT_2_stpc2025_2_n.Fair Flags

通过率:0%

AC君温馨提醒

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

题目描述

有 NN 个人站在数轴上,第 ii 个人在坐标 AiA_i 处。同时给定正整数 L,R (L≤R)L, R \ (L \le R)。

现在考虑在数轴上插 11 根或多根旗子。假设插了 kk 根旗子,旗子的位置为 x1,x2,…,xkx_1, x_2, \dots, x_k。当且仅当以下两个条件同时满足时,这种插旗方式称为良好插旗方式:

  • 所有旗子都插在整数坐标上。即对于所有 j=1,2,…,kj = 1, 2, \dots, k,有 xjx_j 为整数。
  • 对于每一个人来说,他距离最近的旗子的距离在 LL 到 RR 之间。也就是说,对于所有 i=1,2,…,Ni = 1, 2, \dots, N,都有 L≤(min⁡1≤j≤k∣Ai−xj∣)≤RL \le \bigl( \min_{1\le j\le k} |A_i - x_j| \bigr) \le R。

如果存在良好的插旗方式,请最小化旗子的数量并给出构造方法;如果不存在,请报告无法构造。已知若存在良好插旗方式,所需旗子的最小数量 kk 满足 k≤8Nk \le 8N。

请对 TT 组测试用例分别给出答案。

输入格式

输入按以下格式给出。

TT $ \mathrm{case}_1 $ $ \mathrm{case}_2 $ $ \vdots $ $ \mathrm{case}_T $

其中,casei\mathrm{case}_i 表示第 ii 个测试用例,其格式如下:

NN LL RR A1A_1 A2A_2 ⋯\cdots ANA_N

输出格式

对于每组测试用例,如果存在良好的插旗方式,输出旗子的数目 k (1≤k≤8N)k \ (1 \le k \le 8N) 以及旗子的坐标 x1,x2,…,xk (−109≤xi≤109)x_1, x_2, \dots, x_k\ (-10^9 \le x_i \le 10^9),格式如下:

kk x1x_1 x2x_2 ⋯\cdots xkx_k

如果不存在良好的插旗方式,输出 -1。

输入输出样例

  • 输入#1

    4
    1 3 6
    0
    2 5 5
    -15 -5
    2 3 4
    0 2
    3 100 100
    -100 0 100

    输出#1

    1
    6 
    1
    -10 
    2
    -3 6 
    -1

说明/提示

部分分

若满足以下所有条件,可获得部分分 2525 分:

  • 对于不存在良好插旗方式的测试用例,正确报告无法构造。
  • 对于存在良好插旗方式的测试用例,给出的插旗方案为良好插旗方式,且旗子数量不超过 8N8N。
  • 存在某个测试用例有良好插旗方式,但旗子的数量未最小化。

样例解释 1

第 11 个测试用例中,人站在坐标 00,其到最近旗子的距离需在 33 到 66 之间。

输出样例中,把 11 根旗子插在坐标 66,此时距离为 66,符合条件,实现了旗子数量最小化。同时,

1
-2

若输出为这样,则距离 00 最近的旗子为 −2-2,距离为 22,不满足距离要求,不是良好插旗方式。

数据范围

  • 输入均为整数
  • 1≤T≤2×1041 \le T \le 2 \times 10^4
  • 1≤N≤2×1051 \le N \le 2\times 10^5
  • 1≤L≤R≤5×1081 \le L \le R \le 5 \times 10^8
  • −5×108≤A1<A2<⋯<AN≤5×108-5\times 10^8 \le A_1 < A_2 < \dots < A_N \le 5\times 10^8
  • 所有测试用例中 NN 的总和不超过 4×1054 \times 10^5。

由 ChatGPT 5 翻译

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

首页