站外题求调(悬关)
  • 板块灌水区
  • 楼主Pollococido
  • 当前回复7
  • 已保存回复7
  • 发布时间2024/8/27 10:51
  • 上次更新2024/8/27 12:51:42
查看原帖
站外题求调(悬关)
919410
Pollococido楼主2024/8/27 10:51

rt

在一个长度为 NN 的序列 aa 中,计算 ∑i=1n−1∑j=i+1n∣ai−aj∣2\sum_{i=1}^{n-1} \sum_{j=i+1} ^ {n} |a_i - a_j| ^ 2。

  • 1≤N≤1051 \le N \le 10^5
#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

2024/8/27 10:51
加载中...