This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
#define lli long long int
#define debug(a) cout << #a << " = " << a << endl
#define debugsl(a) cout << #a << " = " << a << ", "
#define rep(i,a,b) for(int i = (a); i <= (b); i++)
#define repa(i,a,b) for(int i = (a); i >= (b); i--)
#define MAX 300000
lli n,a,res,q;
lli arr[MAX+2],vis[MAX+2];
vector<lli> frec;
deque<lli> orden;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin >> n >> q;
rep(i,1,n) {
cin >> arr[i];
vis[arr[i]]++;
}
rep(i,1,n) {
if (vis[i] == 0) continue;
frec.push_back(vis[i]);
vis[i] = 0;
}
sort(frec.begin(), frec.end());
reverse(frec.begin(), frec.end());
lli x = 0;
for(auto act : frec) {
if (x) orden.push_back(act);
else orden.push_front(act);
x ^= 1;
}
//lee la pregunta
lli y;
cin >> x >> y;
lli sum = 0;
lli act,glob = 0;
while (!orden.empty()) {
act = orden.front();
orden.pop_front();
res += glob*act;
x = act*(act+1)/2;
res += x;
sum += act;
glob += sum + act;
}
cout << res;
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |