Submission #967558

#TimeUsernameProblemLanguageResultExecution timeMemory
967558antonDiversity (CEOI21_diversity)C++17
38 / 100
7077 ms12996 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define pii pair<int, int> int arithmetic(int v){ return v*(v+1)/2; } signed main(){ cin.tie(NULL); ios_base::sync_with_stdio(false); int n, q; cin>>n>>q; vector<int> v(n); map<int, int> oc; for(int i = 0; i<n; i++){ cin>>v[i]; oc[v[i]] ++; } deque<int> dq; vector<pii> groups; for(auto e: oc){ groups.push_back(e); } auto cmp =[&](pii& a, pii& b){ return a.second>b.second; }; sort(groups.begin(), groups.end(), cmp); int res= 0; for(int i = 0; i<groups.size(); i++){ if(i%2 == 0){ dq.push_back(groups[i].second); } else{ dq.push_front(groups[i].second); } res += arithmetic(groups[i].second); } for(int dist= 1; dist<dq.size(); dist++){ for(int i =0; i<dq.size()-dist; i++){ res += (dist+1)*dq[i] * dq[i + dist]; } } for(int i = 0; i<q; i++){ int a, b; cin>>a>>b; cout<<res<<endl; } }

Compilation message (stderr)

diversity.cpp: In function 'int main()':
diversity.cpp:35:21: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   35 |     for(int i = 0; i<groups.size(); i++){
      |                    ~^~~~~~~~~~~~~~
diversity.cpp:46:26: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::deque<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   46 |     for(int dist= 1; dist<dq.size(); dist++){
      |                      ~~~~^~~~~~~~~~
diversity.cpp:47:24: warning: comparison of integer expressions of different signedness: 'long long int' and 'long long unsigned int' [-Wsign-compare]
   47 |         for(int i =0; i<dq.size()-dist; 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...