Ctrl K

Добыча, которая делится на троих

Средняя
Три друга нашли мешки с монетами: в мешке i лежит values[i] монет. Мешки не открывают — каждый берут целиком или оставляют. Друзья хотят разделить добычу поровну, поэтому общее число монет во взятых мешках должно делиться на 3. Верните наибольшее возможное число монет. Взять ни одного мешка тоже можно — тогда ответ 0.
Пример 1
values=[5, 7, 2, 9] → 21

Сумма всех чисел 23 даёт остаток 2 при делении на 3. Выгоднее всего отложить мешок с 2 — останется 21.

Пример 2
values=[4, 4, 4, 1] → 12

Всего 13, остаток 1. Отложив мешок с 1, получаем 12 — по 4 каждому.

Пример 3
values=[1, 1] → 0

Ни 1, ни 2 на троих поровну не делятся — брать ничего не стоит, ответ 0.

Ограничения
  • 1 ≤ len(values) ≤ 4 · 10⁴
  • 1 ≤ values[i] ≤ 10⁴
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиОтменить как можно меньше встреч СредняяСамая длинная цепочка отрезков СредняяСамая сильная команда СредняяРазломать шоколадку СредняяНаибольшее число, кратное трём Сложная
загружаем Python…
Вход
values=[5, 7, 2, 9]
Ожидается
21

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 130 тестов на сервере, включая скрытые.