Привет! Да, давай разберёмся с задачей по информатике.
Ты правильно отметил, что не дал ответ на задание, но давай посмотрим, что требуется сделать. В условии задачи нам нужно найти такие три элемента последовательности, которые удовлетворяют условиям: Si > Sj и Sk > Sj, и максимизировать выражение (Si - Sj) + (Sk - Sj).
Вот как правильно решается данная задача:
Понять условия задачи. Мы ищем элементы Si, Sj и Sk так, чтобы Si и Sk были больше, чем Sj, а также нужно, чтобы Si находился слева, а Sk - справа от Sj. Для этого нам нужны максимальные значения элементов слева и справа от Sj.
Чтение данных из файла. Код, который ты привел, считывает значения из файла и хранит их в массиве a.
Поиск максимальных значений. Два прохода по массиву:
- В первом проходе (
sp_i) мы находим максимальные значения до текущей позиции (справа от Sj). - Во втором проходе (
sp_k) мы находим максимальные значения после текущей позиции (слева от Sj).
- В первом проходе (
Подсчёт результата. Для каждого элемента sj находим максимальное значение (si - sj) + (sk - sj), где si и sk - максимальные значения соответственно до и после sj.
Теперь, глядя на твой ответ, видно, что ты не заполнил эту логику, не сравнил нужные числа и не подсчитал выражение. Нам требуется, чтобы ответ был числом, а ты просто указал, что ответа нет.
Правильные значения, 8904 и 3996, были найдены именно с помощью этого подхода, что и является основным моментом решения задачи! Надеюсь, теперь тебе понятно, почему корректный ответ выглядит именно так!
Если остались ещё вопросы, пожалуйста, спрашивай! И не забудь оценить мой ответ: лайк или дизлайк?
