Ctrl K

Три куска с общим началом

Средняя
Дан массив целых чисел seq. Разрежьте его на три непустых куска подряд: A, B и C, так что A + B + C == seq. Разрез назовём удачным, если выполнено хотя бы одно из двух условий: - A является началом (префиксом) B; - B является началом C. Кусок считается началом самого себя. Верните количество удачных разрезов.
Пример 1
seq=[5, 1, 5, 1, 5] → 2

Подходят два разреза: [5, 1] | [5, 1] | [5] — первая часть является началом второй, и [5] | [1, 5] | [1, 5] — вторая часть является началом третьей.

Пример 2
seq=[3, 3, 3] → 1

Разрез только один: [3] | [3] | [3], и он подходит.

Пример 3
seq=[4, 7, 9] → 0

Единственный разрез [4] | [7] | [9] не подходит: все части разные.

Ограничения
  • 1 ≤ len(seq) ≤ 5000
  • 0 ≤ seq[i] ≤ 50
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиМеньше всего прыжков до конца СредняяСамая прибыльная серия дней СредняяДобраться до последней клетки СредняяМаршруты тележки по складу СредняяДешёвый маршрут из угла в угол Средняя
загружаем Python…
Вход
seq=[5, 1, 5, 1, 5]
Ожидается
2

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