编程题
### 问题描述 小蓝是一个著名的魔术师,他最擅长的魔术就是交换杯子。 在桌子上有 $n$ 个杯子,编号为 $1, 2, \dots, n$,起始时,第 $i$ 个杯子中有 $w_i$ 个磁铁。 小蓝会对杯子进行 $k$ 次的交换操作,每次操作是将两个不同的杯子进行交换。 其中第 $i$ 次交换会交换编号为 $x_i$ 和 $y_i$ 的杯子,交换之后,若杯子中有磁铁,那么这个杯子会将它外侧(如果有,远离与其交换的杯子的那一侧)的磁铁都吸到自己的杯子中。 你现在一共可以选择 $t$ 个杯子,你的得分为所选的杯子中的磁铁数量之和,请你计算一下,可以获得的最大得分是多少。 ### 输入格式 第一行包含三个正整数 $n, k, t$,杯子的个数、交换次数和你可以选择的杯子的个数。 第二行包含 $n$ 个整数 $w_1, w_2, \dots, w_m$,表示每个杯子中磁铁的个数。 接下来 $k$ 行,每行两个整数 $x_i, y_i$,表示小蓝本次会交换杯子 $x_i$ 和杯子 $y_i$。 ### 输出格式 一行一个整数,表示最大得分。 ### 样例输入 ``` 5 3 2 1 2 3 4 5 1 2 3 4 3 5 ``` ### 样例输出 ``` 13 ``` ### 数据范围 对于 $100$% 测试样例, $1 \leq n, k \leq 10^5$,$1 \leq k \leq n$,$1 \leq x_i \neq y_i \leq n$,$1 \leq w_i \leq 10^5$。
查看答案
赣ICP备20007335号-2