У Поликарпа есть n монет, достоинство i-й монеты равно ai. Поликарп хочет распределить монеты по своим карманам, но он не может класть две монеты одинакового достоинства в один и тот же карман.
Например, елси у Поликарпа есть шесть монет, представленных в виде массива a=[1,2,4,3,3,2], он может распределить их по двум карманам следующим образом: [1,2,3],[2,3,4].
Поликарп хочет распределить все имеющиеся у него монеты, используя минимально возможное количество карманов. Помогите ему сделать это.
Входные данные
Первая строка входных данных содержит одно целое число n (1≤n≤100) — количество монет.
Вторая строка входных данных содержит n целых чисел a1,a2,…,an (1≤ai≤100) — достоинства монет.
Выходные данные
Выведите одно целое число — минимальное возможное количество карманов, необходимое Поликарпу, чтобы распределить все имеющиеся у него монеты таким образом, что никакие две монеты с одинаковым достоинством не лежат в одном и том же кармане.
Примеры
входные данные
6
1 2 4 3 3 2
выходные данные
2
входные данные
1
100
выходные данные
1
Решите на паскале пожалуйста
Ответы
Ответ дал:
1
#include <iostream>
using namespace std;
int main() {
int a[101],b[101],n,i,m=0;
cin >> n;
for(i=1; i<=n; i++){
cin>>a[i];
b[a[i]]++;
}
for(i=1; i<=100; i++){
m=max(m,b[i]);
}
cout<<m;
return 0;
}
Вас заинтересует
4 месяца назад
4 месяца назад
6 месяцев назад
6 месяцев назад
2 года назад
2 года назад
7 лет назад