РУҚА
25

Шешімі: Максимальная сумма подпоследовательности

ЕГЭ · Информатика · Тапсырма 25 · Массивтер және жолдар
ЖоғарыФИПИ9F4BD8Қысқа жауап≈ 15 минутТалдау 4 қадам
Условие

Дана последовательность из $N$ натуральных чисел. Рассматриваются все её непрерывные подпоследовательности, такие что сумма элементов каждой из них кратна $k = 79$. Найдите среди них подпоследовательность с максимальной суммой и определите её длину. Если таких подпоследовательностей найдено несколько, в ответе укажите количество элементов самой короткой из них.

Даны два входных файла (файл А и файл B), каждый из которых содержит в первой строке количество чисел $N$ ($1 \leq N \leq 10\,000\,000$). Каждая из следующих $N$ строк содержит одно натуральное число, не превышающее $10\,000$.

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

Тапсырманы ашып, өзіңіз шешіңіз
Дальше ответЕгер әлі шешіп жатсаңыз – кеңестерден бастаңыз: олар жауапқа жетелейді, бірақ оны ашпайды.
К подсказкам

Шешімін қадамдап көрсету

4 қадам
1

Обозначим через $S_i$ сумму первых $i$ элементов последовательности, причём $S_0 = 0$. Сумма элементов подпоследовательности от $l+1$ до $r$ равна $S_r - S_l$.

2

Эта сумма кратна $79$, если $S_r \bmod 79 = S_l \bmod 79$.

3

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

Алгоритм выполняется за $O(N)$ времени и использует $O(79)$ памяти для каждого файла. Однако численные результаты для файлов А и B нельзя определить без самих приложенных файлов.

Жауап

Определить невозможно: содержимое файлов А и B не приложено.

Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.

Где здесь ошибаются

Перебирать все пары границ подпоследовательности.

Сохранять только количество элементов вместо минимальной префиксной суммы для каждого остатка.

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

Закрепить приёмВ теме «Массивтер және жолдар» ещё 237 тапсырма — жауабымен және дәл осындай талдауымен.
Жаттығу

Тапсырманы қалай шешу керек 25 ЕГЭ, информатика

Бұл есептің талдауы келесіге бөлінген: 4 шага: видно, откуда берётся каждое число и где теряется балл. Жауап есептеулердің жанында келтірілген, олардың орнына емес.

Задача из темы «Массивы и строки»: в ней 238 задач, и у каждой есть такой же разбор. Тіркеу қажет емес.