제출 #1300574

#제출 시각아이디문제언어결과실행 시간메모리
1300574Davdav1232Diversity (CEOI21_diversity)C++20
64 / 100
44 ms5572 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef vector<int> vi; typedef vector<ll> vl; typedef vector<vi> vvi; int main(){ std::ios_base::sync_with_stdio(false); std::cin.tie(nullptr); int n, q; cin>>n>>q; if(q!=1) return 0; vector<int> a(n); for(int i=0; i<n; i++){ cin>>a[i]; } sort(a.begin(), a.end()); vector<ll> c; int curr=0; int l=-1; for(int i=0; i<n; i++){ if(a[i]==l) curr++; else{ c.push_back(curr); curr=1; l=a[i]; } } cin>>l>>l; c.push_back(curr); sort(c.begin(), c.end()); //need to reorder c l=c.size(); vector<ll> d(l); for(int i=0; i<l; i++){ if(i%2==0){ d[(l)/2+i/2]=c[l-i-1]; } else{ d[(l)/2-(i+1)/2]=c[l-i-1]; } } ll s=0; ll sum=0; ll ans=0; for(ll r : d){ ans+=(r*(r+1))/2; ans+=s*r; sum+=r; s+=sum+r; } cout<<ans; }
#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...