P17007 [NWERC 2019] 颠倒牌堆 / Inverted Deck
题目背景
译自 [Northwestern Europe Regional Contest (NWERC) 2019](http://2019.nwerc.eu)。
题目描述
你非常喜欢流行集换式卡牌游戏 Numinous Wilds: the Elven Reign Chronicles(NWERC),并且有一大批卡牌。你会按照稀有度认真整理这些卡牌。
有一天,你发现有人动过你的收藏,一些卡牌现在顺序不对了。最自然的嫌疑人当然是你的弟弟 Billy,因为他被百分之百禁止玩你的卡牌。经过几分钟的盘问,Billy 承认他确实从牌堆中间拿走了一段连续的卡牌,但他发誓自己是按原来的顺序放回去的。
你怀疑 Billy 年纪太小,可能只是误把拿走的那一段卡牌反着放回去了。现在你想验证这个猜想,并判断是否可以找到 Billy 拿走玩的那一段卡牌。
是否可以通过反转恰好一个连续的卡牌段,使所有卡牌按稀有度非递减排序?
输入格式
输入包含:
- 第一行包含一个整数 $n$ ($1\le n\le 10^6$),表示收藏中的卡牌数量。
- 第二行包含 $n$ 个整数 $v_1,\ldots,v_n$ ($1\le v_i\le 10^9$),表示当前卡牌的稀有度顺序。
输出格式
如果可以通过反转列表中恰好一个连续子序列使卡牌有序,输出这样一个子序列的 $1$ 基起始下标和结束下标。
否则,输出 `impossible`。
如果存在多个合法解,输出任意一个即可。
说明/提示
【数据规模与约定】
- $1\le n\le 10^6$。
- $1\le v_i\le 10^9$。
- 如果存在多个合法区间,输出任意一个即可。