题目大意:给你n,a,b,s四个数,其中n代表有n个输入的数字你可以任意对这些数字的任意连续区间进行全部加1或者乘*2的操作其中a代表每次加1的消耗值,b代表每次乘2的消耗值问这些数字的和大于等于s所需要的最小消耗值是多少(详情见题目)思路:首先不难想到每次加1的时候肯定是全部数字加1是最优的选择但一共有1e9中加1的情况,枚举肯定不行那么乘2呢?这里数据范围是1e9是很关键的一点,说明如果是正数,它最多乘2的31次方就可以达到s了如果是负数那怎么也达不到这时候我们发现对于乘2可以找一个最大子段和然后进行枚举乘31次就好了既然知道了乘2的时候是枚举31次那么当知道乘2的操作后我们就可以利用二分...