Submission #572457

#TimeUsernameProblemLanguageResultExecution timeMemory
572457valerikkDiversity (CEOI21_diversity)C++17
14 / 100
7054 ms2172 KiB
#include <bits/stdc++.h> using namespace std; int cnt[300001]; int main() { ios::sync_with_stdio(false); cin.tie(0); int n, Q; cin >> n >> Q; vector<int> a(n); for (int i = 0; i < n; ++i) { cin >> a[i]; } for (int i = 0; i < n; ++i) { ++cnt[a[i]]; } vector<int> x; for (int i = 1; i <= 300000; ++i) { if (cnt[i] > 0) x.push_back(cnt[i]); } sort(x.begin(), x.end()); int k = x.size(); long long ans = 1e18; do { long long cur = n * 1ll * (n + 1) / 2 * k; long long sum = 0; for (int i = 0; i < k; ++i) { cur -= sum * (sum + 1) / 2; sum += x[i]; } sum = 0; for (int i = k - 1; i >= 0; --i) { cur -= sum * (sum + 1) / 2; sum += x[i]; } ans = min(ans, cur); } while (next_permutation(x.begin(), x.end())); cout << ans << endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...