РУҚА
27

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

ЕГЭ · Информатика · Задание 27 · Динамическое программирование
ВысокаяФИПИ519CA0Короткий ответ≈ 15 минут

Пусть $S$ — последовательность из $N$ целых чисел, пронумерованных подряд начиная с 1. Обозначим $S(L, R)$ подпоследовательность, состоящую из идущих подряд элементов, входящих в $S$, начиная с элемента с номером $L$ и заканчивая элементом с номером $R$. Требуется найти такие значения номеров элементов $L$, $M$, $R$, где $0 < L < M < R - 1$ (то есть между элементами с номерами $M$ и $R$ есть ещё как минимум один элемент), чтобы разность суммы элементов подпоследовательности $S(M+1, R)$ и суммы элементов подпоследовательности $S(L, M)$ была максимальна. В ответе укажите максимальное значение разности подобных сумм.

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

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

Условие как в банке ФИПИ — открыть и сверить
Впишите правильный ответ.

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

Пусть S – последовательность из N целых чисел, пронумерованных подряд начиная с 1. Обозначим S(L, R) подпоследовательность, состоящую из идущих подряд элементов, входящих в S, начиная с элемента с номером L и заканчивая элементом с номером R.

Требуется найти такие значения номеров элементов L, M, R, где
0 < L < M < R – 1 (т.е. между элементами с номерами M и R есть ещё как минимум один элемент), чтобы разность суммы элементов подпоследовательности S(M + 1, R) и суммы элементов подпоследовательности S(L, M) была максимальна.

В ответе укажите максимальное значение разности подобных сумм.

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

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

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

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

7

20

4

–2

13

–1

2

–10

При таких входных данных L = 2, M = 3, R = 6. Искомая максимальная разность равна (13 + (–1) + 2) – (4 + (–2)) = 12. Подпоследовательность «–2 13 –1» разбить на две подпоследовательности требуемого вида невозможно.

Ответом является число 12.

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

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



Ваш ответ

Формат: число или слово без единиц измерения; дробную часть отделяйте запятой.

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

Выразите обе суммы через префиксные суммы последовательности.

2Наводящая — какие числа считатьуровень 2 из 3

Для фиксированного $R$ нужно максимизировать $P_R - P_M - (P_M - P_L)$, где $P_i$ — сумма первых $i$ элементов.

3Прямая — фактически решениеуровень 3 из 3

Перебирайте $R$ слева направо и храните минимум значения $2P_M - P_L$ для допустимых пар $L < M < R-1$. Текущая разность равна $P_R - (2P_M - P_L)$.

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

Задание 27 ЕГЭ, информатика

Задача из темы «Динамическое программирование»: в ней 72 задачи с ответом и разбором по шагам. В 27-м номере бланка — 49 задач.

Ответ можно проверить здесь же, а если не выходит — открыть подсказку или разбор. Регистрация не нужна.