AT_2_stpc2025_2_l.Avoid Multiple
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个长度为 N 的正整数序列 A=(A1,A2,…,AN)。初始时,保证 A 中不包含 M 的倍数。
你需要进行 N−1 次如下操作:
- 选择一个整数 i,满足 1≤i≤∣A∣−1;
- 将 Ai 和 Ai+1 相加,合并为一个元素;
- 更具体地,将 A 替换为 (A1,…,Ai−1),(Ai+Ai+1),(Ai+2,…,A∣A∣) 的顺次连接。
- 这样操作后,A 的长度会减少 1。
请判断能否在操作过程中始终保证 A 中不会出现 M 的倍数,并完成 N−1 次操作。若可以,请构造一组合法的操作序列。
输入格式
输入格式如下:
N M A1 A2 ⋯ AN
输出格式
如果不存在满足条件的操作序列,请输出一行 No。
如果存在,请输出两行。第一行为 Yes,第二行为每次操作选择的 i,依次用空格分隔。
若存在多组可行解,输出任意一组均可。
输入输出样例
输入#1
4 4 1 2 3 1
输出#1
Yes 2 1 1
输入#2
9 5 3 2 3 2 1 3 2 3 2
输出#2
Yes 4 3 2 2 2 2 1 1
输入#3
7 123456789 69024393 73329927 23109098 63845999 71517732 113556305 79443702
输出#3
No
说明/提示
样例解释 1
对于该输入,对于初始 A=(1,2,3,1):
- 第一次操作选择 i=2,此时 A=(1,5,1)。
- 第二次操作选择 i=1,此时 A=(6,1)。
- 第三次操作选择 i=1,此时 A=(7)。
在此操作过程中,A 中都不会出现 4 的倍数。
数据范围
- 所有输入均为整数。
- 3≤N≤2×105
- 2≤M≤109
- 1≤Ai<M
- Ai 不是 M 的倍数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?