#include <cstdio>
#include <algorithm>
#define N 300001
#define A 300001
int o, n, q, a[N], fr[N], fr2[N];
long long z, y;
long long c2(int x) { return (x - 1ll) * x / 2ll; }
int main() {
scanf("%d%d", &n, &q);
for (int i = 1; i <= n; ++i) scanf("%d", a + i), ++fr[a[i]];
for (int i = 1; i <= 300000; ++i)
++fr2[fr[i]];
int sum = 0;
for (int i = 1; i <= n; ++i)
for (; fr2[i]--; )
a[++o] = i, sum += i;
for (int i = 1; i <= o; ++i) {
int psum = 0;
for (int j = 2; j <= o; psum += a[j++]) {
int a_ = a[j - 1];
int b_ = a[j];
int x = psum;
int y = n - psum - a_ - b_;
if (-c2(b_ + y + 1) -c2(a_ + x + 1) > -c2(b_ + x + 1) - c2(a_ + y + 1))
std::swap(a[j], a[j - 1]);
}
}
int psum = 0;
for (int i = 1; i <= o; psum += a[i++]) {
z += c2(n + 1) - c2(psum + 1) - c2(n - psum - a[i] + 1);
}
printf("%lld", z);
}
Compilation message
diversity.c:1:10: fatal error: cstdio: No such file or directory
1 | #include <cstdio>
| ^~~~~~~~
compilation terminated.