#1167. 前端

前端

题目描述

你是一名前端程序员。有一天,同事提出了这样一个问题。

有一张 nn 个点、mm 条边的简单无向图,每个点都有一个正整数权值。现在按照给定顺序,依次删除这 nn 个点。删除一个点时,与它相连的边也会一起删除。初始图不一定连通。

定义一个连通块的权值为其中所有点的权值之和。请在每次删除一个点后,求剩余图中所有连通块权值的最大值。如果已经没有剩余点,则答案为 00。

输入格式

从文件 qd.in 中读入数据。

第一行包含两个正整数 n,mn,m。

第二行包含 nn 个正整数 a1,a2,…,ana_1,a_2,\ldots,a_n,表示各点的权值。

接下来 mm 行,每行包含两个正整数 u,vu,v,表示点 uu 与点 vv 之间有一条无向边。保证图中没有自环和重边。

最后一行包含一个 1∼n1\sim n 的排列 p1,p2,…,pnp_1,p_2,\ldots,p_n,表示删除点的顺序。

输出格式

输出到文件 qd.out 中。

输出 nn 行,每行一个整数。第 ii 行表示删除 p1,p2,…,pip_1,p_2,\ldots,p_i 后的答案。

样例1

样例输入1

6 7
1 1 4 5 1 4
1 2
3 4
4 5
5 6
3 6
3 5
4 6
4 5 3 6 1 2

样例输出1

9 
8 
4 
2 
1 
0

样例说明

删除点 44 后,点 3,5,63,5,6 构成的连通块权值为 99,是所有连通块中的最大值。继续删除点 55 后,点 3,63,6 仍然连通,答案为 88。最后一个点被删除后,答案为 00。

样例 2

见选手目录下的 qd/qd2.in 与 qd/qd2.ans。

该组样例满足 n,m≤1000n,m\le1000。

样例 3

见选手目录下的 qd/qd3.in 与 qd/qd3.ans。

该组样例满足特殊性质 A。

数据范围

对于所有测试点,1≤n,m,ai≤1051\le n,m,a_i\le10^5,1≤u,v≤n1\le u,v\le n。输入的图是简单无向图,删除顺序是 1∼n1\sim n 的排列。

本题共有 2020 个测试点,每个测试点 55 分,按测试点独立计分。

测试点编号 n,mn,m 的上界 特殊性质
1∼61\sim6 10001000 无
7∼107\sim10 10510^5 特殊性质 A
11∼2011\sim20 无

特殊性质 A:所有 ai=1a_i=1。

统计

相关

在下列比赛中:

第五套