AT_oupc2023_day1_p.Score for Cutting Graph

通过率:0%

AC君温馨提醒

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

题目描述

对于一个无向图 G′G',每个顶点上写有一个正整数,定义 G′G' 的分数如下:

  • 对于 G′G' 的每个连通分量,计算该连通分量中所有顶点上正整数的乘积,并将这些乘积累加起来,得到总分数。

给定一个只包含正整数的长度为 NN 的序列 A=(A1,A2,…,AN)A = (A_1, A_2, \ldots, A_N) 和一个正整数 MM。现在需要构造一个编号分别为 11 到 NN 的 NN 个顶点、N−1N-1 条边的简单且连通的无向图 GG,使得满足下列条件:

  • 对于 GG 的每个顶点 ii(1≤i≤N1 \leq i \leq N),点 ii 上写有 AiA_i。
  • 从 GG 删除至多一条边后得到的所有 NN 个图,它们的分数总和不超过 MM。

有 TT 个测试用例,请分别判断每个测试用例是否存在符合条件的 GG。如果存在,请给出构造方案。

输入格式

输入按如下格式从标准输入读入:

TT case1\mathrm{case}_1 ⋮\vdots caseT\mathrm{case}_T

每个测试用例格式如下:

NN MM A1A_1 A2A_2 …\ldots ANA_N

输出格式

对于第 kk 个测试用例,输出该用例的答案。如果无法使分数总和不超过 MM,输出 No。否则,第一行输出 Yes,后面 N−1N-1 行输出 GG 的边的构造方式,格式如下:

s1s_1 t1t_1
s2s_2 t2t_2
⋮\vdots
sN−1s_{N-1} tN−1t_{N-1}

其中 sj,tjs_j, t_j 表示 GG 的第 jj 条边(连接顶点 sjs_j 与 tjt_j)。

如果存在多种方案,输出任意一种均可。

输入输出样例

  • 输入#1

    3
    4 60
    1 2 3 4
    4 24
    1 2 3 4
    7 1000000000000000000
    1 2 3 4 5 6 7

    输出#1

    Yes
    1 2
    1 3
    1 4
    No
    Yes
    1 3
    3 5
    5 4
    2 5
    7 6
    1 6
  • 输入#2

    3
    10 20
    1 1 1 1 1 1 1 1 1 1
    4 3000
    20 24 1 6
    10 3000000
    20 2 4 1 6 20 2 4 1 6

    输出#2

    Yes
    3 1
    4 7
    5 7
    10 3
    2 9
    8 9
    3 8
    6 9
    7 1
    No
    Yes
    10 9
    4 6
    5 4
    4 9
    9 3
    9 1
    8 4
    1 2
    7 9

说明/提示

子任务

  1. (1 分)N≤7N \leq 7
  2. (99 分)无额外约束

样例解释 1

第 1 个测试用例及其输出结果如下所示,例如:

  • 不删除任何边时,分数为 (1×2×3×4)=24(1 \times 2 \times 3 \times 4) = 24。
  • 删除第 1 条边时,分数为 (2)+(1×3×4)=14(2) + (1 \times 3 \times 4) = 14。
  • 删除第 2 条边时,分数为 (3)+(1×2×4)=11(3) + (1 \times 2 \times 4) = 11。
  • 删除第 3 条边时,分数为 (4)+(1×2×3)=10(4) + (1 \times 2 \times 3) = 10。

分数总和为 5959。也存在分数总和不超过 6060 的其它 GG,输出任意一种即可。

对于第 2 个测试用例,无法使分数总和不超过 2424,因此输出 No。

此样例满足子任务 1 的约束。

样例解释 2

此样例不满足子任务 1 的约束。

数据范围

  • 1≤T≤51 \leq T \leq 5
  • 2≤N≤200, ⁣0002 \leq N \leq 200,\!000
  • 1≤M≤10181 \leq M \leq 10^{18}
  • 1≤Ai≤10181 \leq A_i \leq 10^{18}
  • 所有测试用例中 NN 的总和不超过 200, ⁣000200,\!000
  • 输入均为整数。

由 ChatGPT 5 翻译

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

首页