D. 轻松的题

    传统题 1000ms 256MiB

轻松的题

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目背景

上一题让我觉得题目很短,做起来很轻松。

题目描述

规定一道简洁的题目有以下几点组成:

  • 主角人名由 A 和 B 字母开头。
  • 题目看起来很简洁。

因此,这道题便是一道简洁的题:


现在有一个长度为 NN 的整数序列 SS(下标从 00 开始),Alice 和 Bob 在这个序列上博弈。

游戏按轮进行,每一轮中:

  • Alice 给出一个长度为 NN 的正整数序列 TT
  • Bob 看到 Alice 给出的 TT,然后选择 [0,N1][0, N-1] 里的一个整数 xx
  • 之后我们把 SS 转化为 SS',规则如下:
Si=Si+T(i+x)modN{S'}_{i} = S_{i} + T_{(i+x)\bmod N}
  • SS' 作为新的 SS,结束这一轮。

如果某一轮结束后,SS 中每个数都是一个给定质数 PP 的倍数,那么 Alice 胜利。

给定 NN 和初始序列 SS,请问:Alice 是否能在有限步必胜,如果答案为是,最快可以在几轮内保证胜利。

输入格式

第一行两个非负整数 N,PN,P,保证 PP 是一个质数。

接下来一行 NN 个空格隔开的整数,描述初始序列 SS0Si1090\le S_i \le 10^9)。

保证 N3×105N\le 3\times 10^5P200P\le 200

输出格式

输出一个整数,如果 Alice 不能在有限步必胜,输出 1-1,否则输出一个整数 xx 表示 Alice 最快能在几轮内胜利。

输入输出样例 #1

输入 #1

4 2
0 1 0 1

输出 #1

2

说明/提示

【样例解释】

样例解释

一种可能的游戏情形是:

  • 第一轮 T=[1,0,1,0]T=[1, 0, 1, 0]x=0x=0,转化后的 S=[1,1,1,1]S'=[1,1,1,1]
  • 第二轮 T=[1,1,1,1]T=[1,1,1,1],无论 xx 取什么,转化后的 S=[2,2,2,2]S'=[2,2,2,2]

可以证明 22 轮是最优的。

FROI Round #1

未参加
状态
已结束
规则
IOI
题目
4
开始于
2025-10-25 14:00
结束于
2025-10-25 18:00
持续时间
4 小时
主持人
参赛人数
12