НОВ БЪЛГАРСКИ УНИВЕРСИТЕТ 
Департамент Информатика 
XVIII РЕПУБЛИКАНСКА СТУДЕНТСКА ОЛИМПИАДА ПО ПРОГРАМИРАНЕ 
13 - 14 май 2006 г. 

Задача H. Дискретни функции 

От предмета математика в училище и от курсовете по математика в университета понятието функция е добре известно. Знаем, че непрекъснатите функции имат минимуми и максимуми и ако функцията е диферецируема, то с помощта на производните можем да намираме тези екстремуми. В дискретната математика също се дефинират функции, изследват се техните свойства и те намират приложение в други области на информатиката. Нека е дадена следната функция: 
 F: N -> Z, 
където N e множеството на естествените числа, а Z е множеството на целите числа. 
Ще разглеждаме тази функция в интервала [1, k], където k е цяло положително число. Задачата е да се намерят минимума и максимума на дадена функция от този вид. Напишете програма H, която чете от стандартния вход функционалните стойности по нарастващ ред на аргумента и отпечатва минималната и максималната функционални стойности. 

Входът съдържа много примери, като първото число задава броят на примерите, а всеки пример започва с числото k, след което следват стойностите F(1), F(2), ..., F(k). За примерите са в сила неравенствата: 0 < k < 1010 и F(i) < 109 за i = 1, 2, ..., k. Числата от входа са отделени със стандартно бяло поле - интервал или нов ред. 

Числата на изхода да се отпечатват по две на ред с разделител един интервал. 

Пример. 
Примерен вход: 
2 
3 -2 0 2 
4 2 1 -3 2 

Изход - решение за примерния вход: 
-2 2 
-3 2