Submission #531855

#TimeUsernameProblemLanguageResultExecution timeMemory
531855hoanghq2004Diversity (CEOI21_diversity)C++14
0 / 100
1 ms320 KiB
#include <bits/stdc++.h>
#pragma GCC optimization ("O3")
#pragma GCC optimization ("unroll-loops")
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

using namespace __gnu_pbds;
using namespace std;

template <typename T>
using ordered_set = tree <T, null_type, less <T>, rb_tree_tag, tree_order_statistics_node_update>;

const int N = 3e5 + 10;

int n, q;
int a[N];
long long ans = 0;

int main() {
    ios :: sync_with_stdio(0); cin.tie(0);
    cin >> n >> q;
    for (int i = 1; i <= n; ++i) cin >> a[i];
    sort(a + 1, a + n + 1);
    vector <int> s;
    for (int i = 1; i <= n; ) {
        int j = i;
        while (j <= n && a[i] == a[j]) ++j;
        int L = i - 1, R = n - j + 1;
        ans += 1LL * (j - i) * L + 1LL * (j - i) * R;
        ans += 1LL * L * R;
        ans += 1LL * (j - i) * (j - i + 1) / 2;
        i = j;
    }
    cout << ans;
}

Compilation message (stderr)

diversity.cpp:2: warning: ignoring '#pragma GCC optimization' [-Wunknown-pragmas]
    2 | #pragma GCC optimization ("O3")
      | 
diversity.cpp:3: warning: ignoring '#pragma GCC optimization' [-Wunknown-pragmas]
    3 | #pragma GCC optimization ("unroll-loops")
      |
#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...