Submission #659736

#TimeUsernameProblemLanguageResultExecution timeMemory
659736fatemetmhrDiversity (CEOI21_diversity)C++17
64 / 100
47 ms4040 KiB
#include <bits/stdc++.h>
 
using namespace std;
 
typedef long long ll;
 
#define pb     push_back
#define fi     first
#define se     second
#define all(x) x.begin(), x.end()
 
const int maxn5 = 4e5 + 10;
 
int cnt[maxn5];
vector <int> av, tmp[2];
 
int main(){
    ios_base::sync_with_stdio(false); cin.tie(0);
 
    int n, q; cin >> n >> q;
    for(int i = 0; i < n; i++){
        int a; cin >> a;
        cnt[a]++;
    }
    sort(cnt, cnt + maxn5);
    int num = 0;
    for(int i = 0; i < maxn5; i++) if(cnt[i]){
        tmp[num].pb(cnt[i]);
        num ^= 1;
    }
    for(auto u : tmp[0])
        av.pb(u);
    reverse(all(tmp[1]));
    for(auto u : tmp[1])
        av.pb(u);
    ll ans = 0;
    int a; cin >> a >> a;
    ll ind = 1;
    for(int i = 1; i <= n; i++)
        ans += (n + 1 - i);
    for(auto u : av){
        //cout << u << endl;
        ans += (ind - 1) * (n + 1 - ind);
        ind += u;
    }
    cout << ans << 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...