НА ЛЮБОМ ЯЗЫКЕ (pascal abc, python? gnu c++, gnu c11, C# MS .Net 5.0) Ограничение времени 1 секунда
Ограничение памяти 64Mb
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt
У Васи есть n пустых коробок. Для каждого i (1 ≤ i ≤ n) i-я коробка — это куб со стороной длины ai.
Вася может положить коробку i в другую коробку j, если соблюдаются следующие условия:
i-я коробка не лежит в другой коробке;
j-я коробка не содержит других коробок;
коробка i меньше коробки j (ai < aj).
Вася может сколько угодно раз класть коробки друг в друга. Он хочет минимизировать количество видимых коробок. Коробка называется видимой, если она не лежит в какой-либо коробке.
определить минимальное возможное количество видимых коробок!
Формат ввода
В первой строке записано одно целое число n (1 ≤ n ≤ 5000) — количество коробок у Васи.
Формат вывода
Во второй строке записаны n целых чисел a1, a2, ..., an (1 ≤ ai ≤ 109), где ai — длина стороны i-й коробки.
Пример 1
Ввод Вывод
3
1 2 3
1
Пример 2
Ввод Вывод
4
4 2 4 3
2
Пример 3
Ввод Вывод
8
1 2 1 2 3 2 3 3
3
вариантами разных циклов (например, с заранее заданным
количеством повторений, с предусловиями, с постусловиями, с
меткой и разветвлением).
В массиве из 15 элементов (ввод переменных – на ваше усмотрение)
подсчитать количество положительных (четных) и сумму
отрицательных элементов по информатике, Реализовать программу следующего задания не менее чем двумя
вариантами разных циклов (например, с заранее заданным
количеством повторений, с предусловиями, с постусловиями, с
меткой и разветвлением).
В массиве из 15 элементов (ввод переменных – на ваше усмотрение)
подсчитать количество положительных (четных) и сумму
отрицательных элементов.
Объяснение:
1. можно выделить лишь три основных вида алгоритмов (для краткости далее будем называть их линейные, разветвляющиеся и циклические алгоритмы):
• линейной структуры,
• разветвляющейся структуры,
• циклической структуры.
Линейный алгоритм – алгоритм, в котором порядок действий фиксирован и каждое действие выполняется только один раз.
Разветвляющаяся структура алгоритм, при выполнении которого каждый раз последовательность действий может быть разная. Схема подобного алгоритма обязательно содержит хотя бы один блок (символ) "решение", который и обеспечивает разветвление вычислительного процесса.
Алгоритм циклической структуры – это алгоритм, в котором предусмотрено неоднократное выполнение одной и той же последовательности действий. На практике часто встречаются задачи, в которых одно или несколько действий бывает необходимо повторить несколько раз.
2. Блок-схема — рас тип схем (графических моделей), описывающих алгоритмы или процессы, в которых отдельные шаги изображаются в виде блоков различной формы, соединенных между собой линиями, указывающими направление последовательности.
3. Псевдоко́д — компактный, зачастую неформальный язык описания алгоритмов, использующий ключевые слова императивных языков программирования, но опускающий несущественные для понимания алгоритма подробности и специфический синтаксис.