CF1922B.Forming Triangles

普及-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You have nn sticks, numbered from 11 to nn. The length of the ii-th stick is 2ai2^{a_i}.

You want to choose exactly 33 sticks out of the given nn sticks, and form a non-degenerate triangle out of them, using the sticks as the sides of the triangle. A triangle is called non-degenerate if its area is strictly greater than 00.

You have to calculate the number of ways to choose exactly 33 sticks so that a triangle can be formed out of them. Note that the order of choosing sticks does not matter (for example, choosing the 11-st, 22-nd and 44-th stick is the same as choosing the 22-nd, 44-th and 11-st stick).

你有 nn 根木棍,编号从 11 到 nn。第 ii 根木棍的长度为 2ai2^{a_i}。

你需要从给定的 nn 根木棍中恰好选择 3 根,并用它们作为三角形的三条边构成一个非退化三角形。当且仅当三角形面积严格大于 0 时,该三角形被称为非退化三角形。

你需要计算:有多少种方式恰好选择 3 根木棍,使得它们能构成一个三角形。注意,选择木棍的顺序无关紧要(例如,选择第 11、第 22 和第 44 根木棍,与选择第 22、第 44 和第 11 根木棍视为同一种方案)。

输入格式

The first line contains one integer tt (1≤t≤1041 \le t \le 10^4) — the number of test cases.

Each test case consists of two lines:

  • the first line contains one integer nn (1≤n≤3⋅1051 \le n \le 3 \cdot 10^5);
  • the second line contains nn integers a1,a2,…,ana_1, a_2, \dots, a_n (0≤ai≤n0 \le a_i \le n).

Additional constraint on the input: the sum of nn over all test cases does not exceed 3⋅1053 \cdot 10^5.

第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4)—— 表示测试用例的数量。

每个测试用例由两行组成:

  • 第一行包含一个整数 nn(1≤n≤3⋅1051 \le n \le 3 \cdot 10^5);
  • 第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n(0≤ai≤n0 \le a_i \le n)。

输入的附加约束:所有测试用例的 nn 值之和不超过 3⋅1053 \cdot 10^5。

输出格式

For each test case, print one integer — the number of ways to choose exactly 33 sticks so that a triangle can be formed out of them.

对于每个测试用例,输出一个整数——即恰好选择 33 根木棍且能用它们构成三角形的方案数。

输入输出样例

  • 输入#1

    4
    7
    1 1 1 1 1 1 1
    4
    3 2 1 3
    3
    1 2 3
    1
    1

    输出#1

    35
    2
    0
    0

说明/提示

In the first test case of the example, any three sticks out of the given 77 can be chosen.

In the second test case of the example, you can choose the 11-st, 22-nd and 44-th stick, or the 11-st, 33-rd and 44-th stick.

In the third test case of the example, you cannot form a triangle out of the given sticks with lengths 22, 44 and 88.

在示例的第一个测试用例中,可以从给定的 77 根木棍中任选三根。

在示例的第二个测试用例中,可以选择第 11、第 22 和第 44 根木棍,或者选择第 11、第 33 和第 44 根木棍。

在示例的第三个测试用例中,无法用长度分别为 22、44 和 88 的给定木棍构成一个三角形。

输入解题思路,AI测评打分。不知道怎么写?

首页