РУҚА
27

Максимальная сумма разностей

ЕГЭ · Информатика · Тапсырма 27 · Динамикалық бағдарламалау
ЖоғарыФИПИA6A247Қысқа жауап≈ 15 минут

Пусть $S$ — последовательность из $N$ целых чисел, пронумерованных подряд начиная с 1. Обозначим $S_i$, $S_j$, $S_k$ три элемента последовательности $S$, где $i < j < k$. Определите в последовательности $S$ три таких числа $S_i$, $S_j$, $S_k$, что $S_i < S_j$, $S_k < S_j$, и значение выражения $(S_j - S_i) + (S_j - S_k)$ максимально. Гарантируется, что в последовательности есть три числа, удовлетворяющие условию задачи.

Даны два входных файла — файл A и файл B. В первой строке каждого файла содержится число $N$ ($5 \leq N \leq 10\,000\,000$). Каждая из следующих $N$ строк содержит одно целое число, значение которого по модулю не превышает 1000. Используйте данные из прилагаемых файлов.

Условие как в банке ФИПИ — открыть и сверить
Дұрыс жауапты жазыңыз.

Тапсырма выполняется с использованием прилагаемых
файлов.

Пусть S – последовательность из N целых чисел, пронумерованных подряд начиная с 1. Обозначим Si, Sj, Sk три элемента последовательности S, где i < j < k.

Определите в последовательности S три таких числа Si, Sj, Sk, что Si < Sj, Sk < Sj и значение выражения (Sj – Si) + (Sj – Sk) максимально. В ответе укажите найденное максимальное значение выражения (Sj – Si) + (Sj – Sk). Гарантируется, что в последовательности есть три числа Si, Sj, Sk, удовлетворяющие условию тапсырма.

Входные данные

Дано два входных файла (файл A и файл B), каждый из которых
в первой строке содержит число N (5 ≤ N ≤ 10 000 000) – количество целых чисел. Каждая из следующих N строк содержит одно целое число, значение которого по модулю не превышает 1000.

В ответе укажите два числа: сначала значение искомой величины для файла А, затем – для файла B.

Типовой пример организации данных во входном файле

9

30

3

7

8

2

6

1

20

21

При таких входных данных искомую максимальную сумму разностей образуют второй, четвёртый и седьмой элементы данной последовательности. Значение этой суммы разностей равно (8 – 3) + (8 – 1) = 12. Для седьмого, восьмого и девятого элементов последовательности искомая величина равна 18, но девятый элемент больше восьмого, что не удовлетворяет условию задачи. Ответом является число 12.

Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемых файлов.

Предупреждение: для обработки файла B не следует использовать переборный алгоритм, вычисляющий сумму для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго.



Сіздің жауабыңыз

Формат: өлшем бірліктері жоқ сан немесе сөз; бөлшек бөлігін үтірмен бөліңіз.

!
3 уровня: от лёгкого толчка до почти готового решения. Следующий открывается, алдыңғысы оқылған кезде, — жауапқа бірден секіріп кетпеу үшін.
1Мягкая — с чего смотретьдеңгей 1 из 3

Для каждого среднего элемента $S_j$ нужно независимо максимизировать левую разность $S_j-S_i$ при $i<j$ и правую разность $S_j-S_k$ при $k>j$.

2Жетекші — қандай сандарды есептеудеңгей 2 из 3

Храните минимум среди уже просмотренных элементов слева и минимум среди элементов справа. Для фиксированного $S_j$ значение равно $2S_j - \min(S_i) - \min(S_k)$.

3Тікелей — іс жүзінде шешімдеңгей 3 из 3

Сначала найдите минимум на суффиксе справа от каждой позиции, затем одним проходом слева направо вычисляйте $2S_j - \text{минимум слева} - \text{минимум справа}$ и запоминайте максимум.

Всё равно не складывается?Полное Шешім с обоснованием каждого шага — на отдельной странице.
Шешімді ашу

Тапсырма 27 ЕГЭ, информатика

Задача из темы «Динамикалық бағдарламалау»: в ней 72 задачи жауабымен және қадамдық талдауымен. В 27-м номере бланка — 49 задач.

Жауапты осы жерде тексеруге болады, ал егер шықпаса — ашуға болады көмекші кеңес немесе талдау. Тіркелу қажет емес.