塔子哥是个爱学习的孩子,并且喜好读书,并且更喜欢读好书,在某一天他要读n本书,读每一本书都要花费1单位时间,并且塔子哥对每一本书有一个满意值,同时读完每一本书塔子哥都会收获一定的快乐值,现在塔子哥想知道要按照怎样的顺序读书读哪些书能使他收获的快乐值总和最大
每本书籍的快乐值为读这本书和之前所有书所花费的时间乘以对这本书的满意值,可按照任意顺序读书,也可以放弃读某些书。
设书的总数为n,书的满意值为m
塔子哥想要最大化他的快乐值,针对每本书的满意值进行阅读安排。阅读每本书花费1单位时间,书的快乐值为已花费时间与满意值的乘积。给定满意值的字符串输入,例如"4,3,2",表示书的满意值为4、3和2,塔子哥需要确定阅读顺序或选择不读某些书籍以获得最大的快乐值。输出为数字,代表最大快乐值之和。比如,输入"4,3,2"的输出为20,因为按照满意值的顺序阅读能够获得最大快乐值;而对于"-1,-4,-5"这样的输入,输出为0,因为不阅读任何书籍是最优选择。
其实本质上就是最大化∑i×a[i]
首先,如果a[i]≤0,则可以直接舍弃a[i]