Ctrl K

Три части по возрастанию

Средняя
Дан массив неотрицательных целых чисел values. Его разрезают на три непустых непрерывных куска — левый, средний и правый. Разрез **хороший**, если сумма левого куска не больше суммы среднего, а сумма среднего не больше суммы правого. Верните число хороших разрезов. Ответ может быть большим — верните его по модулю 10⁹ + 7.
Пример 1
values=[2, 2, 3, 1, 4] → 3

Подходят [2] [2] [3, 1, 4] (2 ≤ 2 ≤ 8), [2] [2, 3] [1, 4] (2 ≤ 5 ≤ 5) и [2, 2] [3, 1] [4] (4 ≤ 4 ≤ 4). Например, [2] [2, 3, 1] [4] не годится: 6 > 4. Итого 3.

Пример 2
values=[5, 4, 3] → 0

Единственный способ — [5] [4] [3], но 5 > 4, поэтому ответ 0.

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

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