P10630 [JOI Open 2017] 推土机 / Bulldozer

题目描述

**译自 [JOI Open 2017](https://contests.ioi-jp.org/open-2017/index.html) T2 「ブルドーザー / Bulldozer」** 平面上有 $N$ 个点,点 $i\:(1≤i≤N)$ 位于 $(X_i, Y_i)$,点 $i\:(1≤i≤N)$ 的权值为非零整数 $W_i$(可能为负数)。 在平面上画两条平行线,所得的总价值为平行线之间(压线也算)所有点的权值之和。求总价值至多不超过多少。

输入格式

第一行包含一个整数 $N$。 在接下来的 $N$ 行中,第 $i$ 行包含三个用空格分隔的整数 $X_i,Y_i,W_i$。

输出格式

一行,一个整数,表示最大总价值。

说明/提示

**样例解释 1** ![](https://cdn.luogu.com.cn/upload/image_hosting/rk2miemg.png) 选择点 $2, 3, 4, 5$。 **样例解释 2** 注意,点 $1,2,3$ 共线。点 $4,5,6$ 共线。 **样例解释 3** 这组样例中没有三点共线。选择的平行线一条过点 $1,2$,另一条过点 $3,4$。 #### 数据范围 所有输入数据都满足以下条件。 $1≤N≤2000, |X_i|,|Y_i|≤10^9,1 ≤|W_i|≤10^9(1≤i≤N)$ 。$(X_i,Y_i)≠(X_j,Y_j)\:(1≤i