CF252B Unsorting Array
题目描述
小 Petya 非常喜欢整数数组。最近,他妈妈送给了他一个包含 $n$ 个元素的数组。Petya 现在想知道,他是否可以交换数组中任意两个不同的整数,使得数组变得无序。请注意,Petya 不能交换两个相等的整数,即使它们的位置不同。而且,即使原数组已经满足所有要求,Petya 也必须进行一次交换。
一个长度为 $n$ 的数组 $a$(数组下标从 1 开始)被称为“排序的”,当且仅当它满足以下两个条件之一:
1. $a_{1} \leq a_{2} \leq ... \leq a_{n}$;
2. $a_{1} \geq a_{2} \geq ... \geq a_{n}$。
请帮助 Petya 找出可以交换的两个所需位置,使数组不再有序。如果不存在这样的两个位置,请输出 $-1$。
输入格式
第一行包含一个整数 $n$($1 \leq n \leq 10^{5}$)。
第二行包含 $n$ 个用空格隔开的非负整数 $a_{1}, a_{2}, ..., a_{n}$ —— Petya 妈妈送给他的数组的元素。输入中的所有整数不超过 $10^{9}$。
输出格式
如果存在一对位置,交换后数组会无序,则输出这两个位置的编号,编号以空格分隔。如果存在多组满足条件的位置,可以输出任意一组。如果不存在这样的两位置,输出 $-1$。数组下标从 $1$ 到 $n$。
说明/提示
在前两个样例中,显然不存在所需的交换位置。
在第三个样例中,你可以交换前两个元素。此时数组变为 2 1 3 4,这个数组无序。
由 ChatGPT 5 翻译