Ctrl K

Команды по нарастающей

Средняя
На турнир едут участники, scores[i] — рейтинг i-го из них. Всех участников нужно разбить на непустые команды и выстроить команды в ряд так, чтобы каждая следующая команда была строго больше предыдущей и по числу людей, и по сумме рейтингов. Каждый участник попадает ровно в одну команду. Верните наибольшее возможное число команд.
Пример 1
scores=[4, 9, 2, 7, 5, 1, 8] → 3

Например: команда [1] с суммой 1, команда [2, 4] с суммой 6 и команда [5, 7, 8, 9] с суммой 29. Для четырёх команд нужно хотя бы 1 + 2 + 3 + 4 = 10 участников, а их всего 7.

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

Две команды по одному человеку не подходят — размеры должны строго расти. Остаётся одна команда из двоих.

Пример 3
scores=[3] → 1
Ограничения
  • 1 ≤ len(scores) ≤ 10⁵
  • 1 ≤ scores[i] ≤ 10⁵
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЦена тает с каждой продажей СредняяСтесать простыми до возрастания СредняяВыровнять до палиндрома СредняяБригада срывает холм СредняяРастущие группы без повторов Сложная
загружаем Python…
Вход
scores=[4, 9, 2, 7, 5, 1, 8]
Ожидается
3

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