НОВ БЪЛГАРСКИ УНИВЕРСИТЕТ
Департамент Информатика
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