Задача №1851. Деньги Фирма Julick&Co ведет учет своих доходов и расходов. Но главный бухгалтер этой фирмы не любит математику, поэтому всякую сумму денег, которую фирма получает или отдает, он характеризует некоторым признаком. Например, сумму денег от 5 до 10 рублей он может охарактеризовать словом "МАЛО", а от 7 до 60 рублей словом "МНОГО". Время от времени он пересчитывает деньги и записывает признак суммы, которая имеется у фирмы. Недавно налоговая инспекция заинтересовалась доходами данной организации. Она хочет узнать, какая минимальная и максимальная сумма денег может быть сейчас у этой фирмы или выяснить, что имеется ошибка в ее записях. Известно, что по законам страны, где развиваются события, в любой момент времени организация должна обладать неотрицательной суммой денег.
Входные данные
Первая строка входного файла содержит K (1≤K≤100) – количество признаков, которые бухгалтер использует для описания различных сумм денег. На следующих K строках содержатся соответствующие признаки Si и числа Mini и Maxi. Si - слово, состоящие не более чем из 20 латинских букв, отделенное от последующих чисел одним пробелом, Mini и Maxi - целые положительные числа (1≤Mini≤Maxi≤1000), разделенные одним пробелом. Следующая строка содержит количество денег, которое было у фирмы в начале ее деятельности – целое число . Затем следует число N – количество записей в бухгалтерской книге фирмы Julick&Co (1≤N≤100). Следующие N строк содержат записи в следующем формате: первый символ строки из множества {"+", "-", "!"} означает вид операции – доход, расход или подсчет денег соответственно. Непосредственно за этим символом (без пробелов) следует признак, характеризующий сумму денег, использованную в операции.
Выходные данные
Если в учетных записях содержится ошибка, выведите в выходной файл число −1, в противном случае выведите числа Min и Max - наименьшую и наибольшую сумму денег, которая может быть у фирмы Julick&Co.
Примеры тестов
входные данные
3
LITTLE 1 5
MIDDLE 4 10
BIG 18 50
11
3
+MIDDLE
!BIG
-LITTLE
выходные данные
13 20
На паскале
Тем что в первом выражении задано условие a больше в: и теперт,стало что а = b
дальше мы сделали теперь a = c
значит значение а уже равно с
а в другом блоке кода
тоже самое выражение но появилось уже else значит условие выполниться тогда и только тогда, когда будет условие if фальшивкой
а в данном примере он правдивое, значит условие else не произойдет
вот пример
int a = 5;
int b = 5;
int c = 5;
if a = b:
a = c
где будут различны
int a =6 ;
int b = 7;
int c = 8;
if a < b: a != b
a = b;
a = c;
все теперь значения разные
Объяснение:
Для данной сортировки используем алгоритм сортировки слиянием
В начале разбиваем арбузы на 2 группы по 2Каждую группу взвешиваем и сортируем (т.е. всего 2 взвешивания)Теперь собираем вместе, сравниваем сначала более легкие арбузы и находим самый легкий (всего 3 взвешивания)Теперь сравниваем тяжелый арбуз, что в группе с самым легким и более легкий из другой группы, и определяем второй по легкости (всего 4 взвешивания)Потом взвешиваем оставшиеся арбузы и докладываем их по порядку (всего 5 взвешивания)