РУҚА
25

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

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

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

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

Для указанных в условии входных данных при $k = 50$ искомая длина последовательности равна 2.

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

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

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

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

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

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

Пример организации исходных данных во входном файле:

7

1

3

4

93

8

5

95

Для указанных входных данных при k = 50 искомая длина последовательности равна 2.

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

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



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

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

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

Как связаны суммы двух префиксов, если сумма элементов между ними кратна $61$?

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

Для каждого остатка префиксной суммы по модулю $61$ храните минимальную и максимальную префиксную сумму, а также позиции их достижения.

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

Если префиксные суммы $S_i$ и $S_j$ имеют одинаковый остаток по модулю $61$, то сумма подпоследовательности равна $S_j-S_i$. Для каждого $j$ выбирайте среди предыдущих префиксов с тем же остатком минимальную сумму; при равенстве результата сохраняйте меньшую длину.

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

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

Задача из темы «Массивы и строки»: в ней 238 задач жауабымен және қадамдық талдауымен. В 25-м номере бланка — 216 задач.

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