Submission #955416

# Submission time Handle Problem Language Result Execution time Memory
955416 2024-03-30T11:57:46 Z yoav_s Diversity (CEOI21_diversity) C++17
14 / 100
7000 ms 5816 KB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef vector<ll> v;
typedef vector<v> vv;
typedef vector<vv> vvv;
typedef pair<ll,ll> p;
typedef vector<p> vp;
typedef vector<vp> vvp;
typedef vector<vvp> vvvp;
typedef pair<ll, p> tri;
typedef vector<tri> vtri;
typedef vector<vtri> vvtri;
typedef vector<vvtri> vvvtri;
typedef vector<bool> vb;
typedef vector<vb> vvb;
typedef vector<vvb> vvvb;

#define f first
#define s second
#define pb push_back
#define eb emplace_back
#define all(v) (v).begin(),(v).end()

const ll INF = 1e18;
const ll mod = 1e9 + 7;
const ll maxValue = 3e5;

ll evaluate(v &segments)
{
    ll N = 0;
    for (ll x : segments) N += x;
    ll l = 0;
    ll res = 0;
    for (ll x : segments)
    {
        ll r = l + x - 1;
        res += ((r - l + 1) * (r - l + 2)) / 2 + l * (N - r - 1) + (r - l + 1) * l + (r - l + 1) * (N - r - 1);
        l += x;
    }
    return res;
}

int main()
{
    ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
    ll N, Q;
    cin >> N >> Q;
    v a(N);
    for (ll i = 0; i < N; i++) cin >> a[i];
    sort(all(a));
    v histogram(maxValue + 1, 0);
    for (ll x : a) histogram[x]++;
    v segments;
    for (ll i = 0; i <= maxValue; i++) if (histogram[i] > 0) segments.pb(histogram[i]);
    sort(all(segments));
    ll mini = evaluate(segments);
    while (next_permutation(all(segments)))
    {
        mini = min(mini, evaluate(segments));
    }
    cout << mini << "\n";
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2648 KB Output is correct
2 Correct 1 ms 2652 KB Output is correct
3 Correct 1 ms 2652 KB Output is correct
4 Correct 1 ms 2652 KB Output is correct
5 Correct 1 ms 2648 KB Output is correct
6 Correct 1 ms 2600 KB Output is correct
7 Correct 1 ms 2652 KB Output is correct
8 Correct 2 ms 2648 KB Output is correct
9 Correct 1 ms 2904 KB Output is correct
10 Correct 1 ms 2652 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2652 KB Output is correct
2 Correct 2 ms 2652 KB Output is correct
3 Correct 3 ms 2908 KB Output is correct
4 Correct 17 ms 3540 KB Output is correct
5 Correct 119 ms 4760 KB Output is correct
6 Correct 1316 ms 5816 KB Output is correct
7 Correct 1327 ms 5752 KB Output is correct
8 Correct 1311 ms 5772 KB Output is correct
9 Correct 1298 ms 5776 KB Output is correct
10 Correct 1292 ms 5808 KB Output is correct
11 Correct 1322 ms 5788 KB Output is correct
12 Correct 1283 ms 5812 KB Output is correct
13 Correct 1327 ms 5720 KB Output is correct
14 Correct 1327 ms 5784 KB Output is correct
15 Correct 1317 ms 5780 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2652 KB Output is correct
2 Correct 2 ms 2652 KB Output is correct
3 Correct 3 ms 2908 KB Output is correct
4 Correct 17 ms 3540 KB Output is correct
5 Correct 119 ms 4760 KB Output is correct
6 Correct 1316 ms 5816 KB Output is correct
7 Correct 1327 ms 5752 KB Output is correct
8 Correct 1311 ms 5772 KB Output is correct
9 Correct 1298 ms 5776 KB Output is correct
10 Correct 1292 ms 5808 KB Output is correct
11 Correct 1322 ms 5788 KB Output is correct
12 Correct 1283 ms 5812 KB Output is correct
13 Correct 1327 ms 5720 KB Output is correct
14 Correct 1327 ms 5784 KB Output is correct
15 Correct 1317 ms 5780 KB Output is correct
16 Correct 2066 ms 2652 KB Output is correct
17 Execution timed out 7040 ms 2652 KB Time limit exceeded
18 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2652 KB Output is correct
2 Correct 2 ms 2652 KB Output is correct
3 Correct 3 ms 2908 KB Output is correct
4 Correct 17 ms 3540 KB Output is correct
5 Correct 119 ms 4760 KB Output is correct
6 Correct 1316 ms 5816 KB Output is correct
7 Correct 1327 ms 5752 KB Output is correct
8 Correct 1311 ms 5772 KB Output is correct
9 Correct 1298 ms 5776 KB Output is correct
10 Correct 1292 ms 5808 KB Output is correct
11 Correct 1322 ms 5788 KB Output is correct
12 Correct 1283 ms 5812 KB Output is correct
13 Correct 1327 ms 5720 KB Output is correct
14 Correct 1327 ms 5784 KB Output is correct
15 Correct 1317 ms 5780 KB Output is correct
16 Correct 2066 ms 2652 KB Output is correct
17 Execution timed out 7040 ms 2652 KB Time limit exceeded
18 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2648 KB Output is correct
2 Correct 1 ms 2652 KB Output is correct
3 Correct 1 ms 2652 KB Output is correct
4 Correct 1 ms 2652 KB Output is correct
5 Correct 1 ms 2648 KB Output is correct
6 Correct 1 ms 2600 KB Output is correct
7 Correct 1 ms 2652 KB Output is correct
8 Correct 2 ms 2648 KB Output is correct
9 Correct 1 ms 2904 KB Output is correct
10 Correct 1 ms 2652 KB Output is correct
11 Correct 1 ms 2652 KB Output is correct
12 Correct 2 ms 2652 KB Output is correct
13 Correct 3 ms 2908 KB Output is correct
14 Correct 17 ms 3540 KB Output is correct
15 Correct 119 ms 4760 KB Output is correct
16 Correct 1316 ms 5816 KB Output is correct
17 Correct 1327 ms 5752 KB Output is correct
18 Correct 1311 ms 5772 KB Output is correct
19 Correct 1298 ms 5776 KB Output is correct
20 Correct 1292 ms 5808 KB Output is correct
21 Correct 1322 ms 5788 KB Output is correct
22 Correct 1283 ms 5812 KB Output is correct
23 Correct 1327 ms 5720 KB Output is correct
24 Correct 1327 ms 5784 KB Output is correct
25 Correct 1317 ms 5780 KB Output is correct
26 Correct 2066 ms 2652 KB Output is correct
27 Execution timed out 7040 ms 2652 KB Time limit exceeded
28 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2648 KB Output is correct
2 Correct 1 ms 2652 KB Output is correct
3 Correct 1 ms 2652 KB Output is correct
4 Correct 1 ms 2652 KB Output is correct
5 Correct 1 ms 2648 KB Output is correct
6 Correct 1 ms 2600 KB Output is correct
7 Correct 1 ms 2652 KB Output is correct
8 Correct 2 ms 2648 KB Output is correct
9 Correct 1 ms 2904 KB Output is correct
10 Correct 1 ms 2652 KB Output is correct
11 Correct 1 ms 2652 KB Output is correct
12 Correct 2 ms 2652 KB Output is correct
13 Correct 3 ms 2908 KB Output is correct
14 Correct 17 ms 3540 KB Output is correct
15 Correct 119 ms 4760 KB Output is correct
16 Correct 1316 ms 5816 KB Output is correct
17 Correct 1327 ms 5752 KB Output is correct
18 Correct 1311 ms 5772 KB Output is correct
19 Correct 1298 ms 5776 KB Output is correct
20 Correct 1292 ms 5808 KB Output is correct
21 Correct 1322 ms 5788 KB Output is correct
22 Correct 1283 ms 5812 KB Output is correct
23 Correct 1327 ms 5720 KB Output is correct
24 Correct 1327 ms 5784 KB Output is correct
25 Correct 1317 ms 5780 KB Output is correct
26 Correct 2066 ms 2652 KB Output is correct
27 Execution timed out 7040 ms 2652 KB Time limit exceeded
28 Halted 0 ms 0 KB -