У вас есть $$$n$$$ палочек, пронумерованных от $$$1$$$ до $$$n$$$. Длина $$$i$$$-й палочки равна $$$2^{a_i}$$$.
Вы хотите выбрать ровно $$$3$$$ палочки из заданных $$$n$$$ палочек и образовать из них невырожденный треугольник, используя палочки в качестве сторон треугольника. Треугольник называется невырожденным, если его площадь строго больше $$$0$$$.
Вам нужно посчитать количество способов выбрать ровно $$$3$$$ палочки, чтобы из них можно было образовать треугольник. Обратите внимание, что порядок выбора палочек не имеет значения (например, выбрать $$$1$$$-ю, $$$2$$$-ю и $$$4$$$-ю палочку — это то же самое, что и выбрать $$$2$$$-ю, $$$4$$$-ю и $$$1$$$-ю палочку).
Первая строка содержит одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных.
Каждый набор входных данных состоит из двух строк:
Дополнительное ограничение на входные данные: сумма $$$n$$$ по всем наборам входных данных не превышает $$$3 \cdot 10^5$$$.
Для каждого теста выведите одно целое число — количество способов выбрать ровно $$$3$$$ палочки, чтобы из них можно было составить треугольник.
471 1 1 1 1 1 143 2 1 331 2 311
35 2 0 0
В первом наборе входных данных примера можно выбрать любые три палочки из заданных $$$7$$$.
Во втором наборе входных данных примера можно выбрать $$$1$$$-ю, $$$2$$$-ю и $$$4$$$-ю палочку, или $$$1$$$-ю, $$$3$$$-ю и $$$4$$$-ю палочку.
В третьем наборе входных данных примера нельзя образовать треугольник из заданных палочек длиной $$$2$$$, $$$4$$$ и $$$8$$$.
Название |
---|