Submission #531231

#TimeUsernameProblemLanguageResultExecution timeMemory
531231azberjibiouDiversity (CEOI21_diversity)C++17
64 / 100
38 ms5380 KiB
#include <bits/stdc++.h> #define gibon ios::sync_with_stdio(false); cin.tie(0); #define fir first #define sec second #define pdd pair<double, double> #define pii pair<int, int> #define pll pair<ll, ll> #define pmax pair<__int128, __int128> #pragma GCC optimize("O3") #pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") typedef long long ll; using namespace std; int dx[4]={0, 1, 0, -1}, dy[4]={1, 0, -1 , 0}; const int mxN=300003; const int mxM=1010; const int mxK=105; const int MOD=1000000007; const ll INF=1e18; const ll P1=1000000007; const ll P2=1000000009; int N, Q; int cnt[mxN]; ll ans; vector <ll> v; int main() { gibon cin >> N >> Q; for(int i=1;i<=N;i++) { int a; cin >> a; cnt[a]++; } for(int i=0;i<mxN;i++) if(cnt[i]!=0) { v.push_back(cnt[i]); } sort(v.begin(), v.end()); ans=(ll)N*(N+1)/2*(v.size()); ll cnt1=0, cnt2=0; for(int i=0;i+1<v.size();i++) { int ele=v[i]; if(cnt1>cnt2) swap(cnt1, cnt2); cnt1+=ele; ans-=cnt1*(cnt1+1)/2+(N-cnt1)*(N-cnt1+1)/2; } cout << ans; }

Compilation message (stderr)

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