НОВ  БЪЛГАРСКИ  УНИВЕРСИТЕТ
Състезание_1                
INF295            
16.12.2003
    Задача Б. Тристъпална редица
    Методът "бързо сортиране" на масив от числа се основава
на алгоритъма за деление на масива на 2 дяла, като всеки елемент от първия
дял е по-малък от всеки елемент от втория дял. Делението се прави относно
даден елемент от масива и този елемент, заедно с други, равни на него,
образуват трети дял, който се намира между първите два. Задачата е да се
установи дали даден масив от числа е разделен на дялове. Ето и точната
формулировка:
    Една редица от цели числа a1,
a2,
..., an се нарича "тристъпална", ако може да се намери
елемент ak, 1< k < n, който да дели редицата
на 3 части:
a1, a2, ..., ap;
ap+1, ap+2,
..., aq;
aq+1, aq+2,
..., an;
като 1 < p < q < n и
ai< ak за  i = 1,...,
p;
ai = ak за  i = p+1, ...,
q;
ai > ak за  i = q+1, ...,
n.
    Да се напише програма 3steps.exe за
определяне дали дадена редица е "тристъпална". Елементите на редицата са
цели положителни числа, не по-големи от 10000 и не повече от 1000.
    ВХОД  - файл  3steps.inp
    За всяка редица на отделен ред се задават броят
на членовете на редицата и след това самите членове. Входният файл съдържа
много редици и завършва с дължина на редица 0.
    ИЗХОД - файл  3steps.out
    За всяка редица се извеждат числата p и q.
Ако съществуват няколко двойки такива числа, извежда се онази двойка, за
която числото n - p - q е най-малко неотрицателно число (т.е. масивът
е разделен на две "максимално равни" части). Ако редицата не е "тристъпална"
да се счита, че p = -1 и q = -1.
    Пример:
10
1 1 1 1 2 2 4 3 3 3
11
1 1 2 3 5 8 13 21 34 45 79
4
10 2 3 5
0
    Решение на примера:
4 6
5 6
-1 -1