Submission #1054019

# Submission time Handle Problem Language Result Execution time Memory
1054019 2024-08-12T04:44:30 Z sleepntsheep Diversity (CEOI21_diversity) C++17
0 / 100
1 ms 2396 KB
#include <cstdio>
#include <algorithm>
#define N 300001
#define A 300001

int n, q, a[N], fr[N], fr2[N];
long long z, y;

int main() {
  scanf("%d%d", &n, &q);
  for (int i = 1; i <= n; ++i) scanf("%d", a + i), ++fr[a[i]];

  for (int i = 1; i <= 300000; ++i)
    ++fr2[fr[i]];

  for (int o = 1, j = 0, i = 1; i <= n; ++i) {
    for (; fr2[i]--; ++j)
      for (int xx = i; xx--;) 
        a[o++] = j;
  }

  for (int c = 1, f = 0, i = n; i >= 1; --i) {
    z += (n - i + 1) * c - y;

    if (a[i] != a[i - 1]) {
        y += c;
      ++c;
    } else {
      y += c - 1;
    }
  }

  printf("%lld", z);

}

Compilation message

diversity.cpp: In function 'int main()':
diversity.cpp:22:19: warning: unused variable 'f' [-Wunused-variable]
   22 |   for (int c = 1, f = 0, i = n; i >= 1; --i) {
      |                   ^
diversity.cpp:10:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   10 |   scanf("%d%d", &n, &q);
      |   ~~~~~^~~~~~~~~~~~~~~~
diversity.cpp:11:37: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   11 |   for (int i = 1; i <= n; ++i) scanf("%d", a + i), ++fr[a[i]];
      |                                ~~~~~^~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 0 ms 2396 KB Output is correct
3 Correct 0 ms 2396 KB Output is correct
4 Incorrect 0 ms 2396 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 2396 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 2396 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 2396 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 0 ms 2396 KB Output is correct
3 Correct 0 ms 2396 KB Output is correct
4 Incorrect 0 ms 2396 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 0 ms 2396 KB Output is correct
3 Correct 0 ms 2396 KB Output is correct
4 Incorrect 0 ms 2396 KB Output isn't correct
5 Halted 0 ms 0 KB -