Метки режимов по температуре
Условие
Метеостанция использует набор опорных погодных режимов. Каждый режим имеет уникальную текстовую метку и характерную температуру воздуха.
Для новой температуры требуется определить метку ближайшего опорного режима. Расстоянием между температурой запроса x и температурой режима c называется абсолютная разность: d(x, c) = |x - c|.
Некоторые опорные температуры могут быть недоступны и обозначаются строкой NA. Такие режимы не участвуют в сравнении. Гарантируется, что среди опорных режимов есть хотя бы один режим с известной температурой.
Если минимальное расстояние достигается у нескольких режимов, выводится лексикографически наименьшая метка среди них.
Формат ввода
В первой строке записаны два целых числа n и q — количество опорных режимов и количество запросов.
В следующих n строках записаны метка режима и его температура через пробел. Температура является целым числом либо строкой NA.
В следующих q строках записаны целые температуры запросов. Для каждого запроса требуется найти ближайший режим.
Формат вывода
Выведите q строк. В строке с номером i выведите метку ближайшего режима для запроса с номером i.
Метки выводятся точно в исходном виде, округление чисел не выполняется.
Ограничения
1 ≤ n, 1 ≤ q, n + q ≤ 2000.
Длина каждой метки составляет от 1 до 20 символов. Метки состоят из строчных латинских букв, цифр и символа _, а все метки различны.
Известная температура опорного режима и температура запроса — целые числа от -60 до 60 включительно.
Среди n опорных режимов есть хотя бы одна строка с известной температурой, не равной NA.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- Перечневые олимпиады: что это и что дают — весь перечень Минобрнауки: уровни, срок диплома, разрезы по предметам и классам
- Олимпиада по информатике: с чего начать — два мира олимпиад — ВсОШ и перечневые: этапы, задания и на каком языке писать