P8398 [CCC 2022 S4] Good Triplets
题目描述
$\rm Andrew$ 是十分好奇的学生,一天他在纸上画了一个圆,圆心在 $(0,0)$ 。设周长为 $C$ ,圆上每一个点的坐标为:

现在 $\rm Andrew$ 在圆上画了 $n$ 个点,第 $i$ 的点画在 $p_i$ 上,$\rm Andrew$ 可能在一个位置上画多个点。
现在一个好的三角形 $(a,b,c)$ 的定义为:
- $1\le a
输入格式
第一行两个整数 $n,c$ ,表示点的个数和圆的周长。
接下来一行,有 $n$ 个整数,具体意义见题目描述。
输出格式
输出一个整数 $x$ ,表示有 $x$ 个好的三角形。
说明/提示
样例 $1$ 解释:
$\rm Andrew$ 画了下面的图:

原点严格地位于顶点为 $p_1$、$p_2$ 和 $p_5$ 的三角形内,所以 $(1,2,5)$ 是一个好的三角形。其他五个好三联体是$(2,3,6),(2,4,6),(2,5,6),(2,5,7)$ 和$(2,5,8)$。
对于 $20\%$ 的数据:$3\le n\le 200,3\le c\le10^6$
对于另外 $20\%$ 的数据:$3\le n\le 10^6,3\le c\le6000$
对于 $40\%$ 的数据:$3\le n\le 10^6,3\le c\le10^6$ 且所有点的位置互不相同。
对于 $100\%$ 的数据:$3\le n\le 10^6,3\le c\le10^6$