Поделитесь своими знаниями, ответьте на вопрос:
Упродавца воздушных шариков есть 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.