AT_kupc2018_g.数列を構成する問題

通过率:0%

AC君温馨提醒

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

题目描述

给定一个长度为 NN 的整数序列 a1,a2,…,aNa_1, a_2, \ldots, a_N,请构造这个序列,使其满足以下条件:

  • 对于每个元素 aia_i,有 0≤ai≤10120 \leq a_i \leq 10^{12}。
  • 对于给定的 MM 个整数 c1,c2,…,cMc_1, c_2, \ldots, c_M,要求 acia_{c_i} 必须等于 0。
  • 定义 bi=∑j∣iajb_i = \sum_{j \mid i} a_j,即 bib_i 为所有能够整除 ii 的 jj 对应的 aja_j 的和。要求对于每一个 1≤i≤N−11 \leq i \leq N-1,有 bi<bi+1b_i < b_{i+1}。

输入格式

输入包括一行,包含 NN、MM 以及 MM 个整数 c1,c2,…,cMc_1, c_2, \ldots, c_M。

输出格式

如果无法构造满足条件的序列,请输出 No。如果可以构造,请输出 Yes,并在下一行输出序列中满足条件的每一个元素,以空格分隔。

输入输出样例

  • 输入#1

    3 1
    1

    输出#1

    Yes
    0 1 2
  • 输入#2

    3 3
    1 2 3

    输出#2

    No

说明/提示

  • 所有输入值均为整数。
  • 1≤N≤3×1051 \leq N \leq 3 \times 10^5
  • 1≤M≤N1 \leq M \leq N
  • 1≤ci≤N1 \leq c_i \leq N
  • c1,c2,…,cMc_1, c_2, \ldots, c_M 中的元素各不相同。

示例解释

  1. 在第一个示例中,序列中的元素都是非负整数,因此满足了第一个条件。而由于 a1=0a_1 = 0,故也满足了第二个条件。进而,b1=a1=0b_1 = a_1 = 0,但应有 bi<bi+1b_i < b_{i+1}。考虑 b2=a1+a2=1b_2 = a_1 + a_2 = 1、b3=a1+a3=2b_3 = a_1 + a_3 = 2,从而使得第三个条件也得到满足。

  2. 在第二个示例中,若 a1=a2=a3=0a_1 = a_2 = a_3 = 0,则必然导致 b1=b2=b3=0b_1 = b_2 = b_3 = 0,因此无法满足第三个条件。

本翻译由 AI 自动生成

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

首页