一、题目
二、解法
首先我们肯定不会连接把蓝色和红色相连,因为这样是没有任何作用的。
考虑两个相邻绿色的连接方式,具体来说有下面两种:
- 两个绿色点直接相连
绿->蓝->...->蓝->绿
或者绿->红->...->红->绿
选取更优的方案即可,也就是我们尝试用绿色直接相连的边替换中间最大蓝边和绿边,实现中我们就可以直接把相邻的蓝边 / / /绿边相连,贴个代码 q w q qwq qwq。
#include <cstdio>
#include <iostream>
#define int long long
using namespace std;
const int M = 300005;
int read()