Олимпиадный тренинг

Задача . B. Испорченная перестановка


Задача

Темы: реализация *1300

Вася коллекционирует монеты. У него есть ровно по одной монете для каждого года от 1 до n. Естественно, в своей коллекции Вася хранит все монеты в порядке их выпуска. Однажды младший брат Васи взял все монеты с годом выпуска от l до r включительно и поставил их в обратном порядке. То есть он взял некоторый отрезок [l, r] и перевернул его слева направо. При этом концы отрезка не совпадали. Например, если n = 8, изначально у Васи монеты хранились в порядке 1 2 3 4 5 6 7 8. Если младший брат Васи выбрал отрезок [2, 6], то после переворота получится порядок монет 1 6 5 4 3 2 7 8. Вася подозревает, что после его брата перестановку мог испортить кто-то еще. Помогите ему выяснить это. Проверьте, что заданная перестановка может быть получена из перестановки 1 2 ... n с помощью ровно одного переворота отрезка. Если это возможно, найдите сам отрезок.

Входные данные

В первой строке записано целое число n (1 ≤ n ≤ 1000) — количество монет в коллекции Васи. Во второй строке через пробел записано n целых чисел — испорченная последовательность монет. Гарантируется, что заданная последовательность является перестановкой, то есть она содержит только целые числа от 1 до n, причем каждое число содержится ровно 1 раз.

Выходные данные

Если невозможно получить заданную перестановку из исходной ровно за 1 действие, выведите 0 0. Иначе выведите два числа l r (1 ≤ l < r ≤ n) — концы отрезка, который нужно перевернуть, чтобы из перестановки 1 2 ... n получить данную.


Примеры
Входные данныеВыходные данные
1 8
1 6 5 4 3 2 7 8
2 6
2 4
2 3 4 1
0 0
3 4
1 2 3 4
0 0

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя