JustCaptain kod-buduschego
llm/middle-9c3d46
Перейти к файлу
Код
kod-buduschego C++Дополнительные задачи3-middle03. Количество способов.md
anc добавил допольнительные задачи b2eaa8d 3 недели назад
03. Количество способов.md

03. Количество способов#

🎯 Уровень 🟠 Middle
🔗 Источник Codeforces 466C — Number of Ways
📊 Сложность 1700
🏷️ Темы префиксные суммы

📝 Условие#

Сколькими способами можно разрезать массив на три непустые непрерывные части с равными суммами?

📥 Входные данные#

В первой строке число n (1 ≤ n ≤ 5·10⁵). Во второй — n целых чисел (|a_i| ≤ 10⁹).

📤 Выходные данные#

Одно число — количество способов разрезать массив на три части с равными суммами.

🧪 Тесты#

Тест 1#

Ввод:

5
1 2 3 0 3

Вывод:

2

Тест 2#

Ввод:

4
0 1 -1 0

Вывод:

1

Тест 3#

Ввод:

2
4 1

Вывод:

0

Тест 4#

Ввод:

5
0 0 0 0 0

Вывод:

6

Заметка

Оригинальное условие и проверка решения на всех тестах — по ссылке на источник.

💡 Подсказка#

Открыть, если застрял(а) больше чем на 20 минут

Общая сумма делится на 3; считайте префиксы с суммой S/3 слева от точек 2S/3.


⬅️ К списку задач уровня