CF1185D Extra Element

题目描述

如果一个数列 $a_1, a_2, \dots, a_k$ 满足对于每个 $i$ 从 $1$ 到 $k$,都有 $a_i = a_1 + c \cdot (i - 1)$,其中 $c$ 是某个固定的常数,那么称该数列为等差数列。 例如,以下五个数列是等差数列:$[5, 7, 9, 11]$、$[101]$、$[101, 100, 99]$、$[13, 97]$ 和 $[5, 5, 5, 5, 5]$。而以下四个数列不是等差数列:$[3, 1, 2]$、$[1, 2, 4, 8]$、$[1, -1, 1, -1]$ 和 $[1, 2, 3, 3, 3]$。 现在给定一个整数序列 $b_1, b_2, \dots, b_n$。请你找出一个下标 $j$($1 \le j \le n$),使得如果将 $b_j$ 从序列中删除,并对剩下的 $n-1$ 个元素重新排列后,可以得到一个等差数列。如果不存在这样的下标,输出 $-1$。

输入格式

输入的第一行包含一个整数 $n$($2 \le n \le 2\cdot10^5$),表示序列 $b$ 的长度。 第二行包含 $n$ 个整数 $b_1, b_2, \dots, b_n$($-10^9 \le b_i \le 10^9$),表示序列 $b$ 的元素。

输出格式

输出一个下标 $j$($1 \le j \le n$),表示如果删除第 $j$ 个元素,并对剩下的元素重新排列后,可以得到一个等差数列。如果有多个答案,可以输出其中任意一个。如果不存在这样的下标,输出 $-1$。

说明/提示

关于第一个样例的说明:如果删除第 $4$ 个元素,可以得到等差数列 $[2, 4, 6, 8]$。 关于第二个样例的说明:原始序列已经是等差数列,因此可以删除第 $1$ 个或最后一个元素,剩下的数仍然可以组成等差数列。 由 ChatGPT 4.1 翻译