Submission #811597

#TimeUsernameProblemLanguageResultExecution timeMemory
811597t6twotwoDiversity (CEOI21_diversity)C++17
64 / 100
183 ms17156 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define FFOR(i,a,b,c) for(int i=(a);(c)>0?i<=(b):i>=(b);i+=(c))
#define FOOR(i,a,b) FFOR(i,a,b-1,1)
#define ROOF(i,a,b) FFOR(i,b-1,a,-1)
#define FOR(i,n) FOOR(i,0,n)
#define ROF(i,n) ROOF(i,0,n)
#define FORR(x,v) for(auto &x:v)
#define all(v) (v).begin(),(v).end()
#define lla(v) (v).rbegin(),(v).rend()
#define sz(v) (int)((v).size())
#define vc vector
#define pb push_back
#define ppb pop_back
#define bk back()
#define fr front()
#define pp pop()
#define eb emplace_back
#define lb lower_bound
#define ub upper_bound
#define bg begin()
#define en end()
#define em empty()
#define f first
#define s second
int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int N,Q;
    cin>>N>>Q;
    vc<int>A(N);
    map<int,int> mp;
    FORR(x,A)cin>>x,mp[x]++;
    int l,r;
    cin>>l>>r;
    vc<int> f;
    for(auto[x,y]:mp) f.pb(y);
    sort(lla(f));
    deque<int> dq;
    FOR(i,sz(f)) {
        i%2==1?dq.pb(f[i]):dq.push_front(f[i]);
    }
    ll ans=0,t=0;
    FOR(i,sz(dq)){
        ans+=t*(N-t);
        FOR(j,dq[i]){
            ans+=N-t;
            t++;
        }
    }
    cout<<ans;
    return 6/22;
}
#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...