Ctrl K

Большая доля добычи

Лёгкая
Команда делит добычу: у каждого предмета есть ценность, все ценности записаны в массиве values. Вам нужно выбрать себе часть предметов так, чтобы их суммарная ценность была **строго больше** суммарной ценности всего, что останется команде. При этом предметов должно быть как можно меньше, а среди всех вариантов с наименьшим числом предметов выберите тот, где суммарная ценность взятого наибольшая. Можно показать, что такой набор ценностей единственный. Верните ценности выбранных предметов, упорядоченные по невозрастанию.
Пример 1
values=[3, 8, 2, 7, 5] → [8, 7]

Всего 25. Одного предмета не хватит: 8 < 17. Двое самых ценных дают 8 + 7 = 15 > 10 — это и есть ответ.

Пример 2
values=[6, 6, 6, 6] → [6, 6, 6]

Две шестёрки дают 12 — ровно столько же, сколько остаётся, а нужно строго больше. Поэтому берём три.

Пример 3
values=[50] → [50]
Ограничения
  • 1 ≤ len(values) ≤ 500
  • 1 ≤ values[i] ≤ 100
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиКуски торта для гостей ЛёгкаяСила слабейшего в паре ЛёгкаяТреугольник из палочек ЛёгкаяСмены знака ради большей суммы ЛёгкаяСобрать рюкзак Лёгкая
загружаем Python…
Вход
values=[3, 8, 2, 7, 5]
Ожидается
[8, 7]

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