# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1054019 | sleepntsheep | Diversity (CEOI21_diversity) | C++17 | 1 ms | 2396 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <cstdio>
#include <algorithm>
#define N 300001
#define A 300001
int n, q, a[N], fr[N], fr2[N];
long long z, y;
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]];
for (int o = 1, j = 0, i = 1; i <= n; ++i) {
for (; fr2[i]--; ++j)
for (int xx = i; xx--;)
a[o++] = j;
}
for (int c = 1, f = 0, i = n; i >= 1; --i) {
z += (n - i + 1) * c - y;
if (a[i] != a[i - 1]) {
y += c;
++c;
} else {
y += c - 1;
}
}
printf("%lld", z);
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |