e-olymp 113. Шарики

Задача

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

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

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

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

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

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

Тесты

# ВХОДНЫЕ ДАННЫЕ ВЫХОДНЫЕ ДАННЫЕ
1 4  3 1 2 1 2
2 1 1 0
3 6 1 1 1 2 2 2 3
4 3 1 2 3 2
5 4 3 3 3 8 1

Код программы

Решение задачи

Для того, чтобы найти количество шариков, которые необходимо перекрасить, нужно узнать максимальное количество шариков одного цвета и из общего количества шариков n вычесть найденный максимум. Для нахождения максимума считываем номер цвета шара в цикле и прибавляем единицу к соответствующему элементу массива colors, а так же проверяем является ли количество шаров данного цвета больше максимального. Если да, то обновляем максимум. По окончанию цикла выводим n-maximum.

Ссылки