#175. 房屋建设
房屋建设
问题描述
韭菜国打算建设一座新的城市,城市中有 个房屋,需要在这 个房屋之间修建一些双向道路,每条道路的长度都是 。
每个房屋都有一个编号,编号从 到 。韭菜国的规划部门希望在这些房屋之间修建一条道路,使得每个房屋都能通过这条道路到达其他所有房屋。但为了保持城市的美观,他们提出了如下要求:
- 连接两个房屋的道路不能重复修建。
- 不能有道路连接同一个房屋。
- 与第 个房屋相连的房屋数量不能超过 。
- 距离最远的两个房屋之间的距离要尽可能大。
你需要判断是否存在一种方案满足上述要求。
如果没有,输出 No。如果有,输出两行,第一行输出 Yes,第二行输出距离最远的两个房屋之间的距离。
输入格式
第一行输入一个正整数 ,表示测试用例组数。
对于每组数据:
第一行输入一个正整数 ,表示房屋的数量。
第二行输入 个正整数 ,表示每个房屋的连接限制。
保证所有测试用例的 之和不超过 。
输出格式
如果不存在满足要求的方案,输出 No。
如果存在,输出 Yes,并在第二行输出距离最远的两个房屋之间的距离。
样例输入
4
3
2 2 2
4
1 1 1 2
5
1 2 3 4 5
4
1 1 2 2
样例输出
Yes
2
No
Yes
4
Yes
3
相关
在下列比赛中: