题解:[AGC018C] Coins

link

首先假设全都选金币,设 \(d_i=B_i-A_i,e_i=C_i-A_i\),则我们需要选出 \(y\)\(d\)\(z\)\(e\)。考虑当 \(i\)\(d\)\(j\)\(e\) 时必有 \(d_i+e_j\ge e_i+d_j\),移项得 \(d_i-e_i\ge d_j-e_j\)

这样,我们可以按 \(d_i-e_i\) 排序,并枚举一个 \(k\),显然要在 \([1,k]\) 中选出 \(y\)\(d\),在 \([k+1,n]\) 中选出 \(z\)\(e\),可以用小根对维护处每个前缀和后缀,然后加起来即可。

时间复杂度 \(O(n\log n)\)

posted @ 2025-02-24 10:04  FugiPig  阅读(15)  评论(0)    收藏  举报