Submission #538906

#TimeUsernameProblemLanguageResultExecution timeMemory
538906amunduzbaevDiversity (CEOI21_diversity)C++17
64 / 100
78 ms8616 KiB
#include "bits/stdc++.h" using namespace std; #define ar array #define int long long #define bug(x) cerr << #x << ' ' << x << '\n'; const int N = 3e5 + 5; int a[N]; signed main(){ ios::sync_with_stdio(0); cin.tie(0); int n, q; cin>>n>>q; for(int i=0;i<n;i++) cin>>a[i]; sort(a, a + n); vector<int> tot; for(int i=0;i<n;){ int j = i; while(j<n && a[j] == a[i]) j++; tot.push_back(j - i); i = j; } sort(tot.rbegin(), tot.rend()); deque<int> tmp; for(int i=0;i<(int)tot.size();i++){ if(i&1) tmp.push_back(tot[i]); else tmp.push_front(tot[i]); } //~ for(int i=0;i<(int)tmp.size();i++) cout<<tmp[i]<<" "; //~ cout<<endl; int pref = 0, res = n * (n + 1) * tot.size(); for(int i=0;i<(int)tmp.size();i++){ res -= pref * (pref + 1); res -= (n - pref - tmp[i]) * (n - pref - tmp[i] + 1); pref += tmp[i]; } res >>= 1; cout<<res<<"\n"; }
#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...