Численный градиент калибровки счётчиков
Условие
В доме сопоставляют данные умных счётчиков электричества с контрольными измерениями. Для каждого счётчика умный прибор передал расход электроэнергии x, а контрольная служба позже указала проверенное значение y.
Коэффициент калибровки счётчика равен w. Модель предсказывает контрольный расход по формуле p = w · x. Качество коэффициента измеряется среднеквадратичной ошибкой
L(w) = (1 / n) · Σ (w · x_i − y_i)^2.
Требуется найти численный градиент функции ошибки по коэффициенту w методом центральной разности с шагом h:
g = (L(w + h) − L(w − h)) / (2 · h).
Данные поступают двумя таблицами. Строки таблиц могут быть записаны в разном порядке, поэтому значения необходимо сопоставлять по идентификатору счётчика. Идентификатор каждого счётчика встречается ровно один раз в каждой таблице, пропусков нет. Нулевые показания счётчика разрешены.
Выведите g, округлённый до четырёх знаков после точки. При точном равенстве числа двум соседним вариантам округления выбирается вариант с чётной последней сохранённой цифрой. Если после округления градиент равен нулю, следует вывести 0.0000.
Формат ввода
В первой строке дано целое число n — количество счётчиков.
Во второй строке даны два вещественных числа w и h — текущий коэффициент калибровки и шаг численного дифференцирования.
В следующих n строках дана первая таблица. Каждая строка содержит идентификатор счётчика meter_id и целое число x — расход по данным умного счётчика.
В следующих n строках дана вторая таблица. Каждая строка содержит идентификатор счётчика meter_id и целое число y — контрольный расход.
Формат вывода
Выведите одно число — численный градиент g с четырьмя знаками после точки.
Ограничения
1 ≤ n ≤ 2000.
-10 ≤ w ≤ 10.
0.0001 ≤ h ≤ 1.
0 ≤ x, y ≤ 20000.
Идентификатор meter_id состоит из строчных латинских букв, цифр и символа _, его длина составляет от 1 до 20 символов.
Все идентификаторы в первой таблице различны. Наборы идентификаторов первой и второй таблиц совпадают.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- БВИ по олимпиадам: в какие вузы берут — правила приёма вузов, разобранные построчно, со ссылкой на приказ у каждой строки
- Перечневые олимпиады: что это и что дают — весь перечень Минобрнауки: уровни, срок диплома, разрезы по предметам и классам