Задача У продавца воздушных шариков есть N шаров. Каждый из них имеет некоторый цвет....

0 голосов
68 просмотров

Задача

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

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

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

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

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

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

Мой код на паскале. Где ошибка? Помогите пожалуйста.
Program ex2;
var a:array[1..9] of integer;
n,k,i,max,b,h,t:integer;
Begin
writeln('введите количество шариков');
readln(n);
write('введите номер цвета шарика через пробел');
read(k);
case k of
1: writeln('Синий');
2: writeln('Зелёный');
3: writeln('Голубой');
4: writeln('Красный');
5: writeln('Розовый');
6: writeln('Жёлтый');
7: writeln('Серый');
8: writeln('Чёрный');
9: writeln('Белый');
end;
procedure init;
var i,t:integer;
begin
readln(h)
for i:=1 to h do
begin
read(t);
(a[t]):=(a[t]+1);
end;
end;
for i:=1 to max do
a[i]:=0;
init;
max:=a[1];
for i:=2 to 9 do
if a[i]>max then max:=a[i];
b:=n-max;
writeln (b);
end;
end.


Информатика (89 баллов) | 68 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Программа внизу. Попробуй так

(13.3k баллов)