Submission #826719

#TimeUsernameProblemLanguageResultExecution timeMemory
826719NK_Diversity (CEOI21_diversity)C++17
0 / 100
1 ms212 KiB
// Success consists of going from failure to failure without loss of enthusiasm
#include <bits/stdc++.h>
 
using namespace std;
 
#define nl '\n'
#define pb push_back 
#define mp make_pair
#define f first
#define s second
#define sz(x) int(x.size())
 
template<class T> using V = vector<T>;
using vi = V<int>;
using ll = long long;
using pl = pair<ll, ll>;
using vl = V<ll>;

int main() {
	cin.tie(0)->sync_with_stdio(0);
 	
	int N, Q; cin >> N >> Q;
	vi A(N); for(auto& x : A) cin >> x;

	map<int, int> F; for(auto x : A) F[x]++;
	vi C; for(auto& x : F) C.pb(x.s);

	int l, r; cin >> l >> r;
	assert(l == 1 && r == N);

	ll ans = (N * 1LL * (N + 1)) / 2LL; sort(rbegin(C), rend(C));

	int L = 0, R = N;
	for(int i = 0; i < sz(C); i++) {
		ans += L * 1LL * R;
		L += C[i]; R -= C[i];
	}

	cout << ans << nl;
	exit(0-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...