#ATarc173b. [ARC173B] Make Many Triangles

[ARC173B] Make Many Triangles

题目描述

在二维平面上有 NN 个互不相同的点。第 ii 个点的坐标为 (xi,yi)(x_i, y_i)

你希望用这些点中的任意点作为顶点,尽可能多地构造(非退化的)三角形。注意,同一个点不能被用作多个三角形的顶点。

请你求出最多能构造多少个三角形。

非退化三角形指的是,三个顶点不共线的三角形。

输入格式

输入以如下格式从标准输入读入。

NN x1x_1 y1y_1 x2x_2 y2y_2 \vdots xNx_{N} yNy_{N}

输出格式

输出答案。

样例 1

输入

7
0 0
1 1
0 3
5 2
3 4
2 0
2 2

输出

2

样例 2

输入

3
0 0
0 1000000000
0 -1000000000

输出

0

说明/提示

限制条件

  • 3N3003 \leq N \leq 300
  • 109xi,yi109-10^9 \leq x_i, y_i \leq 10^9
  • 如果 iji \neq j,则 (xi,yi)(xj,yj)(x_i, y_i) \neq (x_j, y_j)
  • 输入的所有值均为整数

样例解释 1

例如,考虑由第 1,3,61,3,6 个点组成的三角形和由第 2,4,52,4,5 个点组成的三角形,可以构造 22 个三角形。虽然同一个点不能被用作多个三角形的顶点,但三角形之间可以有公共部分。

由 ChatGPT 4.1 翻译