1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// Dzien1C.cpp : This file contains the 'main' function. Program execution begins and ends there.
//

#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

int ar[500009];

const int MAX = 500000;

#define win1 \
cout << "Algosia";\
return 0;

#define win2 \
cout << "Bajtek";\
return 0;

vector<int> occurance;


int main()
{
    int n;
    cin >> n;
    for (int i = 0; i < n; i++) {
        int a;
        cin >> a;
        ar[a]++;
    }

    for (int i = 1; i <= MAX; i++) {
        if (ar[i] != 0) occurance.push_back(-ar[i]);
    }

    sort(occurance.begin(), occurance.end());
    int counter = 0;

    for (int i = 0; i < occurance.size() && n > 0; i++) {
        n -= -occurance[i] * 2 - 1;
        counter++;

    }
    
    cout << counter;
    return 0;

}

// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu

// Tips for Getting Started: 
//   1. Use the Solution Explorer window to add/manage files
//   2. Use the Team Explorer window to connect to source control
//   3. Use the Output window to see build output and other messages
//   4. Use the Error List window to view errors
//   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
//   6. In the future, to open this project again, go to File > Open > Project and select the .sln file