#P15759. 被偷走的生成笔记
被偷走的生成笔记
题目描述
王修涵手里有一张初始为空的无向图,图上有 个顶点。每个顶点都有一个非负整数权值。
此外,他有 个三元组 ,其中 , 为非负整数。
接着,他开始执行下面的过程:
- 如果不存在某个下标 ,满足 与 当前位于不同连通块,并且
则过程结束。
- 否则,选择满足条件的最小下标 ,在图中加入一条连接 与 的边,把这个 写进笔记本,然后回到第 1 步。
这里 表示对应连通块中所有顶点权值之和。
过程结束后,倒霉的事发生了:有人偷走了他的笔记本。请你帮他恢复笔记本中依次写下的所有下标。
输入格式
第一行包含两个整数 ,分别表示图中顶点数和三元组数量。
第二行包含 个整数 ,表示每个顶点的权值。
接下来 行,每行包含三个整数 ,表示一个三元组。
输出格式
第一行输出一个整数,表示笔记本中写下的下标数量。
第二行按写入顺序输出所有这些下标。若数量为 ,第二行可为空。
数据范围
- ;
- ;
- ;
- ;
- 。
样例 1
输入
5 5
1 4 3 4 0
4 5 5
3 1 1
2 5 2
4 3 1
4 1 4
输出
4
2 3 1 4
样例 2
输入
3 5
3 2 2
1 2 6
1 2 6
1 2 3
1 2 6
2 3 6
输出
2
3 5