QOJ.ac

QOJ

時間限制: 2 s 記憶體限制: 2048 MB 總分: 100

#14442. Судейство в фигурном катании

统计

Анисса только что закончила свое выступление в фигурном катании и с нетерпением ждет оценок. Система подсчета баллов на этом соревновании немного необычна: каждого фигуриста оценивают несколько судей, а оценки усредняются для получения итогового результата.

Джоли управляет программным обеспечением, используемым для обработки оценок, и замечает, что хакер взломал систему и добавил множество фальшивых оценок. Она точно знает, сколько оценок должно быть, поэтому она будет вручную аннулировать оценки до тех пор, пока их количество не совпадет с количеством судей, которые, как она знает, действительно выставили оценки.

Проблема в том, что Джоли не знает, какие именно оценки нужно аннулировать. Она решает использовать следующую метрику для оценки «плохости» (badness) набора оценок после того, как будет аннулировано достаточное количество оценок, чтобы их число совпало с количеством судей:

  1. Вычислить среднее арифметическое всех оценок из выбранного набора.
  2. Вычислить квадрат отклонения каждой оценки в выбранном наборе от полученного среднего арифметического. То есть, если среднее значение равно $\mu$, а данная оценка равна $x$, то квадрат отклонения равен $(\mu - x)^2$.
  3. Вычислить сумму всех квадратов отклонений из шага 2. Эта сумма и есть «плохость».

Вычислите минимальную «плохость» среди всех возможных наборов оценок, которые можно получить.

Входные данные

Первая строка входных данных содержит два целых числа $n$ и $k$ ($1 \le k < n \le 5 \cdot 10^5$), где $n$ — общее количество оценок, а $k$ — ожидаемое количество оценок.

Каждая из следующих $n$ строк содержит одно целое число $x$ ($1 \le x \le 10^6$). Это и есть оценки.

Выходные данные

Выведите единственное число — минимальную «плохость» среди всех возможных наборов оценок, которые можно получить. Ответ считается верным, если его абсолютная или относительная погрешность не превышает $10^{-6}$.

Примеры

Примеры 1

4 3
13
13
23
13
0

Примеры 2

5 2
1
2
3
4
5
0.5

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.