| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 474648 | MilosMilutinovic | Diversity (CEOI21_diversity) | C++14 | 7036 ms | 2380 KiB |
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 <bits/stdc++.h>
using namespace std;
const int N = 3e5 + 500;
int A[N], n, q, cnt[N], B[N];
int ans[N];
int main(){
scanf("%d%d", &n, &q);
for(int i = 1;i <= n;i++){
scanf("%d", A + i);
cnt[A[i]]++;
}
for(int i = 1;i <= q;i++){
int l, r; scanf("%d%d", &l, &r);
}
iota(B, B + N, 0);
sort(B, B + N, [&](int i, int j){
return cnt[i] < cnt[j];
});
int l = 1, r = n;
for(int i = 1;i <= N;i++){
for(int j = 1;j <= cnt[B[i]];j++){
if(i & 1) ans[l++] = B[i];
else ans[r--] = B[i];
}
}
long long sum = 0;
for(int i = 1;i <= n;i++){
map < int, int > bio;
int diff = 0;
for(int j = i;j <= n;j++){
if(!bio[ans[j]]) diff++;
bio[ans[j]]++;
sum += diff;
}
}
printf("%lld", sum);
return 0;
}
Compilation message (stderr)
| # | 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... | ||||
