Задание №92892: Алгоритмы и программирование
Задание выполняется с использованием прилагаемых файлов. Пусть S – последовательность из N целых чисел, пронумерованных подряд начиная с 1. Обозначим S ( L , R ) подпоследовательность, состоящую из идущих подряд элементов, входящих в S , начиная с элемента с номером L и заканчивая элементом с номером R включительно. Требуется найти такую подпоследовательность S ( L , R ) максимальной длины, что сумма её элементов отрицательна и нечётна. Гарантируется, что хотя бы одна подпоследовательность требуемого вида существует. В ответе укажите длину искомой подпоследовательности. Входные данные Дано два входных файла (файл A и файл B ), каждый из которых в первой строке содержит число N (5 ≤ N ≤ 10 000 000) – количество целых чисел . Каждая из следующих N строк содержит одно целое число, значение которого по модулю не превышает 1000 . В ответе укажите два числа: сначала значение искомой величины для файла А , затем – для файла B . Типовой пример организации данных во входном файле 6 20 2 –8 4 –5 3 При таких входных данных L = 2, R = 5. Сумма подпоследовательности равна (2 + (–8) + 4 + (–5)) = –7 . Ответом является длина этой подпоследовательности, равная 4. Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемых файлов. Предупреждение: для обработки файла B не следует использовать переборный алгоритм, вычисляющий сумму для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго.
Что проверяет это задание
Задание относится к теме «Алгоритмы и программирование». Для решения понадобятся:
- формализация задачи
- построение алгоритма
- проверка граничных случаев
Источник: ФИПИ — открытый банк заданий
Качество материала
Показываем, из чего состоит страница и можно ли проверить материал по первоисточнику.
Происхождение задания
- Банк заданий
- ФИПИ — открытый банк заданий
- Организатор
- ФИПИ
- Материалы
- 2 файла
Связанные понятия
План самостоятельного решения
- Перепишите известные данные и отдельно сформулируйте, что требуется найти или доказать.
- Свяжите условие с темой «Алгоритмы и программирование» и выберите подходящее правило, формулу или способ рассуждения.
- Запишите промежуточные шаги: это помогает заметить потерянный знак, случай или логический переход.
- Сверьте результат со всеми ограничениями условия и только затем откройте подробный разбор.
Ориентировочное время: 25 минут.
Закрепить тему
После разбора попробуйте решить ещё десять заданий по предмету «Информатика». Вариант формируется заново, а ответы можно сразу проверить.
Решение по шагам
Самопроверка после решения
- Я использовал все данные из условия и не добавил неподтверждённых предположений.
- Каждый переход в рассуждении объяснён правилом, формулой или ранее доказанным фактом.
- Ответ соответствует вопросу, а обозначения и единицы измерения записаны однозначно.
- Я сравнил свой ход решения с разбором и понял причину каждого отличия.
Типичные ошибки
- Перепутать основание системы счисления.
- Не учесть границы диапазона.
- Проверить алгоритм только на одном примере.
