题目描述
有n个物品,第i个物品有两个属性ki,bi,表示它在时刻x的价值为ki*x + bi.
当前处于时刻0,你可以选择不超过m个物品,使得存在某个整数时刻t, t >= 0,你选择的所有物品的总价值大于等于S.
给出S,求t的最小值。
n<=1e6
题解:
考场上的思路接近正解了,效率:O(Nlog^2N)。原以为有什么巧妙的思路可以去掉一个log,没想到竟然是用STL
有一个神奇的东西叫做nth_element:
nth_element(v+1,v+n-m,v+n+1);
即将前n-m小的数放到前n-m个,期望效率O(N),这样就可以方便地求出前m大的数了。