Submission #474648

#TimeUsernameProblemLanguageResultExecution timeMemory
474648MilosMilutinovicDiversity (CEOI21_diversity)C++14
4 / 100
7036 ms2380 KiB
#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)

diversity.cpp: In function 'int main()':
diversity.cpp:11:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   11 |         scanf("%d%d", &n, &q);
      |         ~~~~~^~~~~~~~~~~~~~~~
diversity.cpp:13:22: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   13 |                 scanf("%d", A + i);
      |                 ~~~~~^~~~~~~~~~~~~
diversity.cpp:17:32: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   17 |                 int l, r; scanf("%d%d", &l, &r);
      |                           ~~~~~^~~~~~~~~~~~~~~~
diversity.cpp:25:43: warning: iteration 300499 invokes undefined behavior [-Waggressive-loop-optimizations]
   25 |                 for(int j = 1;j <= cnt[B[i]];j++){
      |                                        ~~~^
diversity.cpp:24:25: note: within this loop
   24 |         for(int i = 1;i <= N;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...