Задача №1698. Гомо или гетеро? Максимальное время работы на одном тесте:
3 секунды
Максимальный объем используемой памяти:
256 мегабайт
Определим две операции над списком целых чисел:
insert number – добавляет заданное число в конец списка
delete number – удаляет первое вхождение заданного числа из списка. Если список не содержит заданного числа, то ничего не меняется.
Например, результатом добавления числа 4 в список [1, 2, 1] будет список [1, 2, 1, 4]. Если мы удалим число 1 из этого списка, то получим список [2, 1, 4], но если мы попытаемся удалить число 3 из списка [1, 2, 1, 4], то список останется неизменным.
Список называется гомогенным, если он содержит хоты бы два одинаковых числа и гетерогенным, если содержит хотя бы два различных числа. Например, список [2, 2] является гомогенным, список [2, 1, 4] – гетерогенным, список [1, 2, 1, 4] – одновременно и тем и другим, а пустой список не является ни гомогенным, ни гетерогенным.
Напишите программу, которая по последовательности операций добавления и удаления в пустой список, определяет после каждой из операций, является ли список гомогенным или гетерогенным.
Формат входных данных
Первая строка содержит целое число n – количество операций (1 ≤ n ≤ 100 000).
Следующие n строк содержат описания операций. Каждая операция описывается словом “insert” или “delete” и числом k – аргументом операции (-109 ≤ k ≤ 109).
Формат выходных данных
Для каждой операции выведите строку, содержащую единственное слово, описывающее состояние списка после этой операции:
“both” - если список одновременно является и тем и другим
“hetero” - если список является гетерогенным
“homo” - если список является гомогенным
“neither” - если список не принадлежит ни одному типу.
Количество информации в сообщении, представленного символами, складывается из информационных весов і составляющих его символов, причём информационный объём сообщения I равен произведению количества символов в сообщении k на информационный вес символа алфавита i, что записывается как I = k×i.
Из сообщения в задании следует, что количество всех неповторяющихся символов алфавита неизвестной планеты равно 8. Для такого алфавита і = 3 bit (так как 2³=8), а следовательно, поскольку в этом сообщении k = 12 символов, то информации оно несёт l = k×i = 12×3 = 36 bit.