#P17007. [NWERC 2019] Inverted Deck

[NWERC 2019] Inverted Deck

背景

译自 Northwestern Europe Regional Contest (NWERC) 2019

题目描述

你非常喜欢流行集换式卡牌游戏 Numinous Wilds: the Elven Reign Chronicles(NWERC),并且有一大批卡牌。你会按照稀有度认真整理这些卡牌。

有一天,你发现有人动过你的收藏,一些卡牌现在顺序不对了。最自然的嫌疑人当然是你的弟弟 Billy,因为他被百分之百禁止玩你的卡牌。经过几分钟的盘问,Billy 承认他确实从牌堆中间拿走了一段连续的卡牌,但他发誓自己是按原来的顺序放回去的。

你怀疑 Billy 年纪太小,可能只是误把拿走的那一段卡牌反着放回去了。现在你想验证这个猜想,并判断是否可以找到 Billy 拿走玩的那一段卡牌。

是否可以通过反转恰好一个连续的卡牌段,使所有卡牌按稀有度非递减排序?

输入格式

输入包含:

  • 第一行包含一个整数 nn (1n1061\le n\le 10^6),表示收藏中的卡牌数量。
  • 第二行包含 nn 个整数 v1,,vnv_1,\ldots,v_n (1vi1091\le v_i\le 10^9),表示当前卡牌的稀有度顺序。

输出格式

如果可以通过反转列表中恰好一个连续子序列使卡牌有序,输出这样一个子序列的 11 基起始下标和结束下标。

否则,输出 impossible

如果存在多个合法解,输出任意一个即可。

7
10 13 19 19 15 14 20
3 6
6
9 1 8 2 7 3
impossible
3
1 2 3
2 2

提示

【数据规模与约定】

  • 1n1061\le n\le 10^6
  • 1vi1091\le v_i\le 10^9
  • 如果存在多个合法区间,输出任意一个即可。