AT_arc212_b [ARC212B] Stones on Grid
题目描述
有一个 $N$ 行 $N$ 列的方格。第 $i$ 行从上数、第 $j$ 列从左数的格子被称作 $(i,j)$。
你需要依次进行 $i=1,2,\ldots,M$ 次如下操作:
- 操作 $i$:选择是否在格子 $(x_i, y_i)$ 上放置一颗石子。如果选择放置石子,则需要支付 $c_i$ 的花费;否则不花费任何费用。
但是,**你必须在第 1 次操作中放一颗石子**。
请判断是否能够实现以下目标,如果可以,请求出最小的总花费。
- 目标:对于每个 $i\ (1 \leq i \leq N)$,第 $i$ 行所放石子的数量恰好等于第 $i$ 列所放石子的数量。
输入格式
输入由标准输入给出,格式如下:
> $N\ M$
> $x_1\ y_1\ c_1$
> $x_2\ y_2\ c_2$
> $\vdots$
> $x_M\ y_M\ c_M$
输出格式
如果无法达成目标,输出 `-1`。如果可以,请输出实现目标的最小总花费。
说明/提示
### 样例解释1
可以通过在第 1、2、5 次操作中各放一个石子来达成目标。
此时总花费为 $5+2+4=11$。为了实现目标,无法做到比 $11$ 更少,因此输出为 $11$。
### 样例解释2
你必须在第 1 次操作中放一颗石子。
### 题目约束
- $1 \le N, M \le 2 \times 10^5$
- $1 \le x_i, y_i \le N$
- $1 \le c_i \le 10^9$
- $(x_i, y_i)$ 两两不同。
- 所有输入均为整数。
由 ChatGPT 5 翻译