首页 > 试题广场 >

修理桌子

[编程题]修理桌子
  • 热度指数:948 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
Arthur最近搬到了新的别墅,别墅特别大,原先的桌子显得比较小,所以他决定换一张新的桌子。他买了一张特别大的桌子,桌子是由很多条桌腿进行支撑的,可是回到家之后他发现桌子不稳,原来是桌子腿长度不太相同。他想要自己把桌子修理好,所以他决定移除掉一些桌腿来让桌子变得平稳。桌子腿总共有n条腿,第i条腿长度为li,Arthur移除第i桌腿要花费代价为di。假设k条腿桌子平稳的条件:超过一半桌腿能够达到桌腿长度的最大值。例如:一条腿的桌子是平稳的,两条腿的桌子腿一样长时是平稳的。请你帮Arthur计算一下是桌子变平稳的最小总代价。

输入描述:
输入:
    第一行数据是一个整数:n (1≤n≤105),n表示桌腿总数。
    第二行数据是n个整数:l1, l2, ..., ln (1≤li≤105),表示每条桌腿的长度。
    第三行数据是n个整数:d1, d2, ..., dn (1≤di≤200),表示移除每条桌腿的代价。


输出描述:
输出:
    输出让桌子变平稳的最小总代价
示例1

输入

样例输入<br />
    6<br />
    2 2 1 1 3 3<br />
    4 3 5 5 2 1<br />

输出

8

这道题你会答吗?花几分钟告诉大家答案吧!