题号:NC221820
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
显然,身为旅行家,爬山是他不能回避的问题。地图上存在

座高度

,由于这些山实在是太高惹,他们的宽度和彼此之间的距离都可以忽略不计。每座山的山顶存在一个高为

的梯子,
他可以通过这个梯子到达高度可及的山顶,通俗的来说从高山i的山顶,可以转移到

的高山j的山顶上去,同时交付

的梯子使用费。
如果他想达到当前山顶的梯子高度所不能及的高山,他便需要搭乘飞机并交纳

的运输费。
旅行家从一号山出发,他需要访问所有高山并返回一号山,请你帮他设计一个路线,使他花费的费用最小。
输入描述:
第一行包含一个整数 &preview=true)
接下来
行,第
行包括两个正整数
,表示第
个山的高度,山顶梯子的长度。
输出描述:
输出一个正整数,表示最小的花费。
示例1
说明
最优的攀爬顺序:
从1到3号高山,使用梯子,总费用为9;
从3号到2号,使用梯子,总费用为10;
从2号到1号,使用梯子,总费用为11;
示例2
输入
复制
6
4 2
8 4
3 0
2 3
7 1
0 1