CF1711B Party
题目描述
一个俱乐部计划举办一场聚会,并将邀请其 $n$ 名成员中的一些人。$n$ 名成员编号为 $1, 2, \dots, n$。如果成员 $i$ 没有被邀请,聚会将获得一个不开心值 $a_i$。
在 $n$ 名成员中有 $m$ 对朋友。按照传统,如果一对朋友中的两个人都被邀请,他们将在聚会上分享一个蛋糕。被吃掉的蛋糕总数等于被邀请的朋友对数。
然而,俱乐部的烤箱一次只能烤两个蛋糕。因此,俱乐部要求被吃掉的蛋糕总数必须为偶数。
请问,在满足被吃掉的蛋糕总数为偶数的前提下,聚会的不开心值总和最小是多少?
输入格式
每个测试包含多个测试用例。第一行包含测试用例数 $t$($1 \leq t \leq 10^4$)。接下来是每个测试用例的描述。
每个测试用例的第一行包含两个整数 $n$ 和 $m$($1 \leq n \leq 10^5$,$0 \leq m \leq \min(10^5, \frac{n(n-1)}{2})$)——俱乐部成员数和朋友对数。
第二行包含 $n$ 个整数 $a_1,a_2,\dots,a_n$($0 \leq a_i \leq 10^4$)——不开心值数组。
接下来的 $m$ 行,每行包含两个整数 $x$ 和 $y$($1 \leq x,y \leq n$,$x \neq y$),表示 $x$ 和 $y$ 是朋友。每对无序对 $(x,y)$ 在每个测试用例中最多出现一次。
保证所有测试用例中 $n$ 的总和与 $m$ 的总和均不超过 $10^5$。
输出格式
对于每个测试用例,输出一行一个整数,表示满足条件的最小不开心值。
说明/提示
在第一个测试用例中,可以邀请所有成员,因此不开心值为 $0$。
在第二个测试用例中,可能的方案有:
- 邀请 $1$ 和 $2$($0$ 个蛋糕被吃,不开心值为 $3$);
- 邀请 $2$ 和 $3$($0$ 个蛋糕被吃,不开心值为 $2$);
- 只邀请 $1$($0$ 个蛋糕被吃,不开心值为 $4$);
- 只邀请 $2$($0$ 个蛋糕被吃,不开心值为 $5$);
- 只邀请 $3$($0$ 个蛋糕被吃,不开心值为 $3$);
- 谁都不邀请($0$ 个蛋糕被吃,不开心值为 $6$)。
最小不开心值通过邀请 $2$ 和 $3$ 实现。在第三个测试用例中,邀请成员 $3,4,5$ 可以得到最小的不开心值并满足条件。
由 ChatGPT 4.1 翻译