CF1154B.Make Them Equal

普及-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

You are given a sequence a1,a2,…,ana_1, a_2, \dots, a_n consisting of nn integers.

You can choose any non-negative integer DD (i.e. D≥0D \ge 0), and for each aia_i you can:

  • add DD (only once), i. e. perform ai:=ai+Da_i := a_i + D, or
  • subtract DD (only once), i. e. perform ai:=ai−Da_i := a_i - D, or
  • leave the value of aia_i unchanged.

It is possible that after an operation the value aia_i becomes negative.

Your goal is to choose such minimum non-negative integer DD and perform changes in such a way, that all aia_i are equal (i.e. a1=a2=⋯=ana_1=a_2=\dots=a_n).

Print the required DD or, if it is impossible to choose such value DD, print -1.

For example, for array [2,8][2, 8] the value D=3D=3 is minimum possible because you can obtain the array [5,5][5, 5] if you will add DD to 22 and subtract DD from 88. And for array [1,4,7,7][1, 4, 7, 7] the value D=3D=3 is also minimum possible. You can add it to 11 and subtract it from 77 and obtain the array [4,4,4,4][4, 4, 4, 4].

给你一个由 nn 个整数组成的序列 a1,a2,…,ana_1, a_2, \dots, a_n。

你可以任选一个非负整数 DD(即 D≥0D \ge 0),并对每个 aia_i 执行以下三种操作之一(每项至多执行一次):

  • 加上 DD(仅一次),即执行 ai:=ai+Da_i := a_i + D;
  • 减去 DD(仅一次),即执行 ai:=ai−Da_i := a_i - D;
  • 保持 aia_i 的值不变。

注意:操作后 aia_i 的值可能变为负数。

你的目标是选出满足条件的最小非负整数 DD,并以某种方式对各项执行上述操作,使得所有 aia_i 相等(即 a1=a2=⋯=ana_1 = a_2 = \dots = a_n)。

请输出该最小的 DD;若不存在满足条件的 DD,则输出 −1-1。

例如,对于数组 [2,8][2, 8],最小可能的 DD 为 33,因为你可以对 22 加上 DD、对 88 减去 DD,从而得到数组 [5,5][5, 5]。又如,对于数组 [1,4,7,7][1, 4, 7, 7],最小可能的 DD 同样为 33:你可对 11 加上 DD,对两个 77 都减去 DD,从而得到数组 [4,4,4,4][4, 4, 4, 4]。

输入格式

The first line of the input contains one integer nn (1≤n≤1001 \le n \le 100) — the number of elements in aa.

The second line of the input contains nn integers a1,a2,…,ana_1, a_2, \dots, a_n (1≤ai≤1001 \le a_i \le 100) — the sequence aa.

输入的第一行包含一个整数 nn(1≤n≤1001 \le n \le 100)—— 表示序列 aa 中元素的个数。

输入的第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n(1≤ai≤1001 \le a_i \le 100)—— 表示序列 aa。

输出格式

Print one integer — the minimum non-negative integer value DD such that if you add this value to some aia_i, subtract this value from some aia_i and leave some aia_i without changes, all obtained values become equal.

If it is impossible to choose such value DD, print -1.

输出一个整数——满足条件的最小非负整数 DD,使得通过对某些 aia_i 加上该值、对某些 aia_i 减去该值、并对某些 aia_i 保持不变,最终所有得到的数值都相等。

如果不存在满足条件的 DD,则输出 −1-1。

输入输出样例

  • 输入#1

    6
    1 4 4 7 4 1

    输出#1

    3
  • 输入#2

    5
    2 2 5 2 5

    输出#2

    3
  • 输入#3

    4
    1 3 3 7

    输出#3

    -1
  • 输入#4

    2
    2 8

    输出#4

    3

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

首页