#include <bits/stdc++.h>
using namespace std;
constexpr int64_t inf = 1e18;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n, q;
cin >> n >> q;
map<int, int> m;
for (int i = 0; i < n; i++) {
int x;
cin >> x;
m[x]++;
}
while (q--) {
int l, r;
cin >> l >> r;
}
vector<int> a;
for (auto [_, cnt] : m) {
a.push_back(cnt);
}
sort(a.begin(), a.end());
n = a.size();
int64_t res = inf;
do {
int64_t sum = 0;
for (int s = 0; s < n; s++) {
for (int i = 0; i + s < n; i++) {
int j = i + s;
if (i == j) {
sum += 1LL * (a[i] * (a[i] - 1) / 2 + a[i]) * (s + 1);
} else {
sum += 1LL * a[i] * a[j] * (s + 1);
}
}
}
res = min(res, sum);
} while (next_permutation(a.begin(), a.end()));
cout << res << '\n';
return 0;
}
| # | 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... |