제출 #967559

#제출 시각아이디문제언어결과실행 시간메모리
967559antonDiversity (CEOI21_diversity)C++17
64 / 100
225 ms26456 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define pii pair<int, int> struct seq{ int s=0; int sc= 0; void insert(int v){ s+= v; sc+=s; } }; 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); } seq s; s.insert(dq.back()); for(int i = dq.size()-2; i>=0; i--){ res+= (s.s+s.sc)*dq[i]; s.insert(dq[i]); } for(int i = 0; i<q; i++){ int a, b; cin>>a>>b; cout<<res<<endl; } }

컴파일 시 표준 에러 (stderr) 메시지

diversity.cpp: In function 'int main()':
diversity.cpp:43: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]
   43 |     for(int i = 0; i<groups.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...