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

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

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

Условие

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

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

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

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

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

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

    Если эта сумма будет делиться на 4; одно из слагаемых надо заменить на его пару так, чтобы сумму всё равно не делилась на

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

  1. Найдём сумму S максимальных чисел из пар и…

  2. Тогда если сумма делится на 4 достаточно…

  3. Задание Б.Приведём пример решения на языке…

  4. and (abs(x - y) < min_r) then min_r:= abs(x…

  5. then writeln(sum) else if (sum mod 4 =…

  6. then writeln (sum - min_r) else writeln(0)…

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

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

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

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