Шарики C++

У продавца воздушных шариков есть n шаров. Каждый из них имеет некоторый цвет. Однако совсем недавно Три Толстяка издали указ, разрешающий торговать шариками какого-то одного цвета. Чтобы не нарушать закон, но при этом и не потерять прибыль, продавец решил перекрасить некоторые из своих шариков.

Напишите программу для определения минимального количества перекрашиваний.

Входные данные

   В первой строке задано количество шаров n (1 ≤ n ≤ 100000). Вторая строка состоит из n целых чисел, в пределах от 1 до 9, определяющие цвета шаров (1 - синий, 2 - зеленый, 3 - голубой, 4 - красный, 5 - розовый, 6 - желтый, 7 - серый, 8 - черный, 9 - белый).

Выходные данные

   Выведите минимальное количество шариков, которое необходимо перекрасить, чтобы все шарики были одного цвета.

 

#include <iostream>
#include <vector>

using namespace std;

vector <pair<int, int>> vect;
int n, tmp, MAX = 1;
bool push = false;

int main()
{
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        cin >> tmp;
        push = false;
        for (int j = 0; j < vect.size(); j++)
            if (vect[j].first == tmp)
            {
                if (MAX == vect[j].second) MAX++;
                vect[j].second++;
                push = true;
            }
        if (!push) vect.push_back(make_pair(tmp, 1));
    }
    cout << n - MAX << endl;
}

Назад

Повышение продаж с помощью веб-форм Разложение числа на простые множители Как качественный контент способствует продвижению сайта Как выбрать хостинг Как писать SEO-тексты? Что такое SEO оптимизация сайта


Хостинг

Есть решение которого нет на сайте? Пиши admin@devexe.top