题解:AT_abc376_e [ABC376E] Max × Sum
根据题目条件,\(\max_{i\in S}A_i\) 的值是唯一的,所以我们不妨对每个这样的值,找到其对应的最小的 \(\sum_{i\in S}B_i\)。
具体的,我们把数组按照 \(A\) 排序,从小到大依次枚举每个 \(A_i\)。先把前 \(k\) 个 \(B_i\) 都插进一个 set
里面,然后在枚举 $k+1\sim n $ 的 \(A_i\) 时,取出 set
中的最大值替换掉,插入新值,就可以保证任何时候 set
里面维护的都是当前满足条件的 \(B_i\) 的最小和。
对于答案的话维护一个 \(sum\) 表示 set
里面的和即可。
提交记录