AT_past202212_j 横断

题目描述

给定平面上的两个点 $S(x_{\mathrm{s}}, y_{\mathrm{s}})$ 和 $T(x_{\mathrm{t}}, y_{\mathrm{t}})$,以及 $N$ 个四元组 $(P_i, Q_i, R_i, W_i)$($1 \leq i \leq N$)。 请考虑如下的过程: - 首先,在平面上从点 $S(x_{\mathrm{s}}, y_{\mathrm{s}})$ 到点 $T(x_{\mathrm{t}}, y_{\mathrm{t}})$ 上任选一条(有向)曲线 $C$。 - 接着,在 $1$ 到 $N$ 之间任选 $K$ 个**不同的**整数 $A_1, A_2, \ldots, A_K$。 - 对于每个 $i = 1, 2, \ldots, K$,执行以下操作: - 如果曲线 $C$ 与直线 $P_{A_i}x + Q_{A_i}y = R_{A_i}$ 至少有一个公共点,你需要支付 $W_{A_i}$ 日元(日本的货币单位)。 请输出上述过程中你所需支付的最小总金额。

输入格式

输入按照如下格式从标准输入给出: > $N$ $K$ $x_{\mathrm{s}}$ $y_{\mathrm{s}}$ $x_{\mathrm{t}}$ $y_{\mathrm{t}}$ > $P_1$ $Q_1$ $R_1$ $W_1$ > $P_2$ $Q_2$ $R_2$ $W_2$ > $\vdots$ > $P_N$ $Q_N$ $R_N$ $W_N$

输出格式

输出答案。

说明/提示

### 样例解释 1 考虑选择沿 $x$ 轴从点 $S(-2, 0)$ 到 $T(2, 0)$ 的路径 $C$,并选择 $1$ 到 $4$ 中的整数 $2, 3, 4$ 作为这 $3$ 个不同的整数。那么: - 曲线 $C$ 与直线 $P_2x + Q_2y = R_2$(即 $y = 10$)没有公共点。 - 曲线 $C$ 与直线 $P_3x + Q_3y = R_3$(即 $x = -1$)有公共点 $(-1, 0)$,因此你需要支付 $W_3 = 3$ 日元。 - 曲线 $C$ 与直线 $P_4x + Q_4y = R_4$(即 $-x + y = 0$)有公共点 $(0, 0)$,因此你需要支付 $W_4 = 5$ 日元。 因此,你总共需要支付 $8$ 日元,这也是可能的最小花费。 ### 样例解释 2 点 $S$ 和点 $T$ 可能是同一个点。同样,$P_ix + Q_iy = R_i$ 也可能对不同的 $i$ 来说是同一条直线。 ### 数据范围与约定 - $1 \leq N \leq 2 \times 10^5$ - $1 \leq K \leq N$ - $-10^9 \leq x_{\mathrm{s}}, y_{\mathrm{s}}, x_{\mathrm{t}}, y_{\mathrm{t}} \leq 10^9$ - $-10^9 \leq P_i, Q_i, R_i \leq 10^9$ - $1 \leq W_i \leq 10^9$ - $P_i \neq 0$ 或 $Q_i \neq 0$ - 对所有 $i = 1, 2, \ldots, N$,点 $S$ 和点 $T$ 都不在直线 $P_ix + Q_iy = R_i$ 上。 - 所有输入均为整数。 由 ChatGPT 5 翻译