#AT2339. G - Yet Another mod M

G - Yet Another mod M

当前没有测试数据。

G - 另一个模数运算

分数:$600$ 分

题目描述

给定一个长度为 $N$ 的正整数序列 $A=(A_1,A_2,\dots,A_N)$,其中 $A$ 的元素各不相同。

你需要选择一个大于等于 $3$ 且小于等于 $10^9$ 的正整数 $M$ 执行以下操作一次:

  • 对于每一个满足 $1 \le i \le N$ 的整数 $i$,将 $A_i$ 替换为 $A_i \bmod M$。

你能够选择一个 $M$ 使得在操作之后 $A$ 满足以下条件吗?如果能够,找出一个这样的 $M$。

  • 存在一个整数 $x$,它在 $A$ 中出现的次数大于 $A$ 中与 $x$ 不相等的数出现的次数。

这里,我们称整数 $x$ 在 $A$ 中出现次数大于 $A$ 中与 $x$ 不相等的数出现次数时,$x$ 是 $A$ 的大多数元素。

约束条件

  • $3 \le N \le 5000$
  • $1 \le A_i \le 10^9$
  • $A$ 的元素各不相同。
  • 输入中的所有值都是整数。

输入

从标准输入读取数据,格式如下:

NN

A1A_1 A2A_2 \dots ANA_N

输出

如果存在满足条件的 $M$,输出该 $M$。否则,输出 $-1$。


5
3 17 8 14 10
7

如果选择 $M=7$ 执行操作,得到 $A=(3,3,1,0,3)$,其中 $3$ 是 $A$ 的大多数元素,因此 $M=7$ 满足条件。


10
822848257 553915718 220834133 692082894 567771297 176423255 25919724 849988238 85134228 235637759
37

10
1 2 3 4 5 6 7 8 9 10
-1