考虑枚举卖出的物品个数\(i\),把\(b_i\)从大到小排序。
题目的某人会买物品的条件转化为\(b_i\geq p_j-c_j\),这说明卖出的物品的集合是排序后\(b\)的一段前缀,且卖出\(i\)个物品,\(p_j\)的最大值是\(b_i+c_j\)
所以该情况的价值是\(i*b_i+i*c_j\),令\(i*b_i=d_i\)
对于每个\(i\),我们要求\(d_i+i*c_j\)的最大值。这相当于若干条直线\(y=d_i+x*c_j\),要求\(x=i\)的最大值,使用半平面交维护即可。