rt
在一个长度为 N 的序列 a 中,计算 ∑i=1n−1∑j=i+1n∣ai−aj∣2。
- 1≤N≤105
#include <bits/stdc++.h>
using namespace std;
const int maxn = 100010;
#define int long long
int a[maxn], sum[maxn];
signed main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++)
cin >> a[i];
sort(a + 1, a + n + 1);
for (int i = 1; i <= n; i++)
sum[i] = sum[i - 1] + a[i];
int ans = 0;
for (int i = 1; i <= n; i++) {
ans += sum[n] - sum[i] - (n - i) * a[i];
}
cout << ans << '\n';;
}
只会去掉平方的计算QwQ