На автозаправочных станциях (АЗС) продаётся бензин с маркировкой 92, 95 и 98. В городе N был проведён мониторинг цены бензина на различных АЗС.
Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет определять для бензина с маркировкой 92, на какой АЗС его продают по второй по минимальности цене (считается, что самой низкой цене потребители не доверяют), а если таких АЗС несколько, то выдаётся только количество таких АЗС. Если все АЗС, у которых 92-й бензин есть, продают его по одной и той же цене, то эта цена считается искомой, и выдаётся либо число таких АЗС, когда их несколько, либо конкретная АЗС, если она одна. Гарантируется, что хотя бы одна АЗС 92-й бензин продаёт.
На вход программе сначала подаётся число данных о стоимости бензина N. В каждой из следующих N строк находится информация в следующем формате: <Компания> <Улица> <Марка> <Цена>, где <Компания> — строка, состоящая не более чем из 20 символов без пробелов, <Улица> — строка, состоящая не более чем из 20 символов без пробелов, <Марка> — одно из чисел — 92, 95 или 98, <Цена> — целое число в диапазоне от 1000 до 3000, обозначающее стоимость одного литра бензина в копейках. <Компания> и <Улица>, <Улица> и <Марка>, а также <Марка> и <цена> разделены ровно одним пробелом. Пример входной строки:
СуперБенз Цветочная 92 1950
Программа должна выводить через пробел Компанию и Улицу искомой АЗС или их количество, если искомых вариантов несколько. Пример выходных данных:
Бензинчик Перспективная
Второй вариант выходных данных:
4
Программа читает все входные данные один раз, не запоминая их в массиве, размер которого соответствует числу входных данных N или максимальной цене (3000). Во время чтения данных определяются две минимальные цены и количество АЗС, продающих 92-й бензин по этим ценам. При печати результата проверяется, что у кого-то цена больше минимальной (вторая по минимальности цена существует), в этом случае искомая (искомые) АЗС — со второй по величине ценой, если это не так, то искомая (искомые) АЗС — все, продающие 92-й бензин.
Баллы начисляются только за программу, которая решает задачу хотя бы для одного частного случая (например, когда все АЗС продают бензин по различной цене, и 92-й бензин продают не менее двух АЗС).
Пример правильной и эффективной программы на языке Паскаль:
Создатель и главный администратор проекта ExamMe.