#P9424. [蓝桥杯 2023 国 B] 删边问题

    ID: 10581 远端评测题 1000ms 256MiB 尝试: 0 已通过: 0 显示难度提高 上传者: 标签>2023强连通分量蓝桥杯国赛

[蓝桥杯 2023 国 B] 删边问题

题目描述

给定一个包含 NN 个结点 MM 条边的无向图 G,结点编号 1⋯N1 \cdots N。其中每个结点都有一个点权 WiW_i。

你可以从 MM 条边中任选恰好一条边删除,如果剩下的图恰好包含 22 个连通分量,就称这是一种合法的删除方案。

对于一种合法的删除方案,我们假设 22 个连通分量包含的点的权值之和分别为 XX 和 YY,请你找出一种使得 XX 与 YY 的差值最小的方案。输出 XX 与 YY 的差值。

输入格式

第一行包含两个整数 NN 和 MM。

第二行包含 NN 个整数,W1,W2,⋯ ,WNW_1, W_2, \cdots, W_N。

以下 MM 行每行包含 22 个整数 UU 和 VV,代表结点 UU 和 VV 之间有一条边。

输出格式

一个整数代表最小的差值。如果不存在合法的删除方案,输出 −1-1。

4 4
10 20 30 40
1 2
2 1
2 3
4 3
20

提示

样例说明

由于 11 和 22 之间实际有 22 条边,所以合法的删除方案有 22 种,分别是删除 (2,3)(2, 3) 之间的边和删除 (3,4)(3, 4) 之间的边。

删除 (2,3)(2, 3) 之间的边,剩下的图包含 22 个连通分量:{1,2}\{1,2\} 和 {3,4}\{3,4\},点权和分别是 3030、7070,差为 4040。

删除 (3,4)(3, 4) 之间的边,剩下的图包含 22 个连通分量:{1,2,3}\{1,2,3\} 和 {4}\{4\},点权和分别是 6060、4040,差为 2020。

评测用例规模与约定

  • 对于 20%20\% 的数据,1≤N,M≤100001 \le N, M \le 10000。
  • 对于另外 20%20\% 的数据,每个结点的度数不超过 22。
  • 对于 100%100\% 的数据,1≤N,M≤2000001 \le N, M \le 200000,0≤Wi≤1090 \le W_i \le 10^9,1≤U,V≤N1 \le U, V \le N。

第十四届蓝桥杯大赛软件赛决赛 C/C++ 大学 B 组 F 题