Official

D - Sum of difference Editorial by kyopro_friends


入力をソートして \(A_1\leq\ldots\leq A_N\) として良いです。このとき \(i<j\) に対して \(|A_i-A_j| = A_j-A_i\) となります。

\(i\) について \(\sum_{j=i+1}^{N}|A_i-A_j|=(\sum_{j=i+1}^{N}A_j)-(N-i)A_i\) となり、これは予め \(A\) の累積和を計算しておくことでそれぞれ \(O(1)\) で求めることができます。よって \(O(N\log N)\) でこの問題が解けました。

posted:
last update: