Купить и продать
2000 мс · 256 МБ · всё или ничего
Дана последовательность цен по дням. Купить можно в один день, продать — в любой более поздний.
Выведите наибольшую возможную разность «продал минус купил». Если любая сделка убыточна, ответ отрицательный: продать всё равно придётся.
Формат ввода
В первой строке от до . Во второй — чисел, каждое по модулю не больше .
Формат вывода
Одно число.
Примеры
ввод
6 7 1 5 3 6 4
вывод
5
Примечание
Наивно — перебрать все пары «день покупки, день продажи»: шагов. Достаточно одного прохода: идя слева направо, помните наименьшую цену из уже виденных. Разность здесь доходит до — это меньше предела int (), но запаса всего семь процентов, и надёжнее сразу взять long long.
Войдите, чтобы отправлять решения.