Присоединиться

11 класс·высокий уровень

Напишите программу, выводящую такую сумму на экран. Если же ее

Условие

На вход даны пары чисел. Нужно выбрать из каждой пары по одному числу так, чтобы сумма всех выбранных чисел не была кратна 4 и при этом была максимально возможной. Напишите программу, выводящую такую сумму на экран. Если же ее невозможно получить, выведите 0. Баллы начисляются за ту из подзадач, что решена на большее количество баллов. Задача А дает 2 балла, задача Б - 4 балла. В задаче А приведите неэффективный алгоритм. При решении указывайте, какую подзадачу делаете. За алгоритм, неэффективный по времени ИЛИ памяти, дается 3 балла, по времени И памяти - 2 балла. Задача А. Количество пар известно заранее и равно 6. Числа не превышают 30 000. Задача Б. Количество пар N не известно заранее и может принимать значения 2 <= N <= 200 000. На вход подается сначала количество пар, затем сами пары. Числа по модулю не превышают 30 000. Критерии оценивания выполнения задания | Баллы | Программа правильно работает для любых входных данных произвольного размера и находит ответ, не сохраняя входные данные в массиве. Допускается наличие в тексте программы одной синтаксической ошибки: пропущен или неверно указан знак пунктуации, неверно написано или пропущено зарезервированное слово языка программирования, не описана или неверно описана переменная, применяется операция, недопустимая для соответствующего типа данных (если одна и та же ошибка встречается несколько раз, то это считается за одну ошибку). | 4 | Не выполнены условия, позволяющие поставить 4 балла, при этом программа работает верно, время работы линейно зависит от N, но размер используемой памяти зависит от количества точек. Например, входные данные запоминаются в массиве или другой структуре данных, размер которой соответствует числу N. Допускается одна из следующих ошибок. 1. Пропущенная или неверная инициализация количества точек. В некоторых языках и системах программирования (например, в Бейсике) все переменные после создания имеют значение 0. В этом случае отсутствие инициализации нельзя считать ошибкой. 2. Неверные сравнения, в результате которых учитываются точки, лежащие на осях координат. 3. Учёт одного треугольника несколько раз из-за разной последовательности перечисления вершин (например, отсутствие деления на 2 в решении, аналогичном приведённому выше). 4. Учёт треугольников, содержащих одну и ту же вершину дважды (например, отсутствие вычитания в решении, аналогичном приведённому выше). Допускается наличие от одной до трёх синтаксических ошибок, описанных в критериях на 4 балла. | 3 | Не выполнены условия, позволяющие поставить 3 или 4 балла, при этом программа работает верно, эффективно или нет. В частности, в 2 балла оцениваются переборные решения, в которых все исходные данные сохраняются в массиве, рассматриваются все возможные треугольники, из которых выбираются подходящие. Допускается наличие нескольких содержательных ошибок, описанных в критериях на 3 балла, и до пяти синтаксических ошибок, описанных в критериях на 4 балла. | 2 | ННе выполнены условия, позволяющие поставить 2, 3 или 4 балла, но программа работает в отдельных частных случаях. | 1 | Не выполнены критерии, позволяющие поставить 1, 2, 3 или 4 балла | 0 | Максимальный балл | 4 |

Формат задания

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

Решение по шагам

  1. Как рассуждать

    Решение. Из математики известно, что при сложении чисел их остатки от деления на число складываются, а при вычитании — вычитаются. Из каждой пары чисел нужно выбрать максимальное и их сложить.Если эта сумма будет делиться на 4; одно из слагаемых надо заменить на его пару так, чтобы сумму всё равно не делилась на

Осталось ещё 6 шагов

  1. Шаг 2

  2. Шаг 3

  3. Шаг 4

  4. Шаг 5

  5. Шаг 6

  6. Шаг 7

Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Программирование»

Напишите программу, выводящую такую сумму на экран. Если же ее — решение с объяснением | Lom Ai