题号:NC21126
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
最近X国的交通状况非常糟糕,所以X国打算重新修建道路。
X国共有 n 个城市,编号为 1 ~ n 。
现在开发商给出了 m 条可供修建的道路,第 i 条连接城市 u
i 和 v
i,长度为 l
i 。
X国由于不太想修建太多冗余的道路,所以只打算修筑 n-1 条道路,并且将所有城市连通起来。也就是说,这 n-1 条道路要形成一棵生成树。
在修建道路之后,X国需要规定一个中心城市 mid 。我们认为一个规划的"拥挤指数"为
)
,其中
%20%5C)
表示城市 u 到城市 v 的距离。
X国认为还有一个麻烦:有些城市会只被一条道路连接,这使得这些城市的交通不方便,会花费额外代价。
具体地,如果最终的修路方案中有 k 个城市只被一条道路连接,那么"拥挤指数"会增加 k x S ,其中 S 为给定的常数。
现在X国首领想问你,如何修建道路并规划中心城市,才能使"拥挤指数"最小呢?同时他还想问你,有几种不同的规划方案(修路+规划中心城市)能使"拥挤指数"最小呢?
输入描述:
第一行三个整数 n,m,S 。
接下来 m 行,每行三个整数 ui,vi,li ,描述一条道路。
输出描述:
一行两个整数 ,表示最小的"拥挤指数",和达到最小"拥挤指数"的方案数。
示例1
说明
只有一种规划方案最优:选上 1,3 号边,并令中心城市为 2 号节点。
示例2
输入
复制
4 6 5
1 2 3
1 3 4
1 4 5
2 3 4
2 4 5
3 4 5
说明
如果选择 1,2,5 号边,可以令中心城市为 1 号节点或者 2 号节点。
如果选择 1,3,4 号边,可以令中心城市为 1 号节点或者 2 号节点。
共 4 种方案。
备注:
对于
的数据,有
。
对于
的数据,有
。
对于额外
的数据,有
。
对于额外
的数据,有
。
对于额外

的数据,有
%7D%7B2%7D%2CS%3D10%5E9%2Cl_i%3D1)
。
对于额外

的数据,有

。
对于所有

的数据,有
%7D%7B2%7D%20%2C%200%20%5Cle%20l_i%2CS%20%5Cle%2010%5E9)
保证没有重边和自环。
保证将所有边都修建以后,所有城市连通。