Submission #985023

#TimeUsernameProblemLanguageResultExecution timeMemory
985023alexddDiversity (CEOI21_diversity)C++17
64 / 100
42 ms14036 KiB
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
#define int long long
int n,q;
int a[300005];
int fr[300005];
signed main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);
    cin>>n>>q;
    int mxm=0;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        fr[a[i]]++;
        mxm=max(mxm,a[i]);
    }
    int qle,qri;
    for(int i=1;i<=q;i++)
    {
        cin>>qle>>qri;
    }
    vector<int> frs,aux,aux2;
    for(int i=1;i<=mxm;i++)
        if(fr[i]) frs.push_back(fr[i]);
    sort(frs.begin(),frs.end());
    for(int i=0;i<frs.size();i+=2)
        aux.push_back(frs[i]);
    for(int i=1;i<frs.size();i+=2)
        aux2.push_back(frs[i]);
    reverse(aux2.begin(),aux2.end());
    for(auto x:aux2)
        aux.push_back(x);
    long long pref=0,rez=0;
    for(auto x:aux)
    {
        rez += (pref+x)*(n-pref);
        rez -= x*(x-1)/2;
        pref += x;
    }
    cout<<rez;
    return 0;
}

Compilation message (stderr)

diversity.cpp: In function 'int main()':
diversity.cpp:29:18: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |     for(int i=0;i<frs.size();i+=2)
      |                 ~^~~~~~~~~~~
diversity.cpp:31:18: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   31 |     for(int i=1;i<frs.size();i+=2)
      |                 ~^~~~~~~~~~~
#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...