Submission #698611

#TimeUsernameProblemLanguageResultExecution timeMemory
698611CyanmondDiversity (CEOI21_diversity)C++17
0 / 100
1 ms212 KiB
#include <bits/stdc++.h> using i64 = long long; struct Query { int l; int r; }; int main() { int N, Q; std::cin >> N >> Q; std::vector<int> A(N); for (auto &e : A) { std::cin >> e; } std::vector<Query> queries(Q); for (auto &[l, r] : queries) { std::cin >> l >> r; --l; } assert(Q == 1 and queries[0].l == 0 and queries[0].r == N); std::map<int, int> countS; for (const auto e : A) { ++countS[e]; } A.clear(); for (auto &[key, val] : countS) { A.push_back(val); } std::sort(A.begin(), A.end()); std::vector<int> B; for (int i = 0; i < (int)A.size(); ++i) { while (A[i]--) { B.push_back(i); } } A = B; i64 ans = 0; for (int i = 0; i < N; ++i) { for (int j = 1; j <= N; ++j) { std::set<int> s; for (int k = i; k < j; ++k) { s.insert(A[k]); } ans += (int)s.size(); } } std::cout << ans << std::endl; }
#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...