[ZJOI2006]BOWL 碗的叠放
题号:NC20464
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小H有n个碗需要放进橱柜,她希望将他们叠起来放置。你知道每个碗都是规则的圆柱体,并且都是上宽下窄,你已经测量出了每个碗的两个半径及高,请你帮小H找出一种叠放顺序,使得叠放出来的碗堆的高度尽量小,比如: 

输入描述:

第一行一个整数n,表示碗的数目。
以下n行,每行三个整数h,r1,r2。分别表示碗高及两个半径。其中r1<r2

输出描述:

仅一个数,表示最小的高度。答案四舍五入取整。
示例1

输入

复制
3
50 30 80
35 25 70
40 10 90

输出

复制
55

备注:

100%数据满足。所有输入的数绝对值不超过1000。