题目描述
题目分析
这一道题有点难度
我们可以想到,我们可以枚举最高楼房。
那么需要的费用就是:所有比它高的楼房的钱数和+比它矮的但又不得不删掉的钱数和。
前面那一个很简单就可以求出来,后面那一个我们可以用堆来做。
首先,我们排一下序。
然后我们建一个堆,先把所有数都加进去。
然后,我们开始从高往低枚举
我们先把当前点前面的点给删掉。
然后,假如高度等于当前枚举的楼房高度的个数为k,那么我们就把可以保存k-1个数全都删掉。
然后我们算一下 sum=所有剩下的数的和