Яндекс.Алгоритм 2011: Раунд 1 |
---|
Закончено |
В одном далеком-предалеком королевстве живет жадный-прежадный король. Для защиты своих владений он построил n сторожевых башен. Помимо башен, в королевстве есть две армии, во главе каждой из которых стоит властный и самодовольный генерал. Генералы терпеть не могут друг друга, в частности, они никогда не допустят, чтобы в одной из башен находились солдаты обеих армий.
Во время оборонительных действий для управления сторожевой башней генералу необходимо направить часть своей армии в эту башню. Каждый генерал требует у короля гонорар за управление башнями. Поскольку они живут в действительно очень далеком королевстве, каждый генерал оценивает свой гонорар следующим странным образом: он находит две самые удаленные башни, в которых находятся солдаты его армии и требует гонорар, равный этому расстоянию. Каждую башню можно считать точкой на плоскости с координатами (x, y), а расстояние между двумя точками с координатами (x1, y1) и (x2, y2) определяется в этом королевстве как |x1 - x2| + |y1 - y2|.
Жадного короля не совсем устроило такое требование генералов, поэтому он лишь согласился выплатить один гонорар на двоих генералов, равный максимальному из запрашиваемых двух гонораров. Однако, жадность все еще не дает покоя королю, поэтому из всех таких распределений башен между армиями, он хочет отыскать наиболее дешевое. Каждая башня должна быть занята солдатами ровно одной армии.
Для этих целей он нанял Вас. Вам необходимо найти минимальное количество денег, которое хватит для оплаты гонорара. А так как король еще крайне щепетилен, вы должны посчитать количество распределений, которые стоят такой же суммы денег. Поскольку их число может быть крайне велико, королю достаточно знать его значение в виде остатка от деления на 109 + 7.
Два распределения называются различными, если различаются множества башен, занятых солдатами первого генерала.
В первой строке задано целое число n (2 ≤ n ≤ 5000), n — количество сторожевых башен. Далее следует n строк, в каждой из которой содержится два целых числа x, y — координаты i-й башни (0 ≤ x, y ≤ 5000). Никакие две башни не находятся в одной точке.
Претест 6 является одним из максимальных тестов в этой задаче.
В первую строку выведите минимальное количество денег, которого хватит для выплаты гонорара генералам.
Во вторую строку выведите количество распределений, которые можно реализовать, используя минимальный гонорар. Это число необходимо вычислить по модулю 1000000007 (109 + 7).
2
0 0
1 1
0
2
4
0 0
0 1
1 0
1 1
1
4
3
0 0
1000 1000
5000 5000
2000
2
В первом примере всего две башни, растояние между которыми равно 2. Если мы отдадим одному генералу все две башни, то генералам необходимо будет заплатить 2 условные единицы. В случае когда каждый генерал получит в командование по башне, величина гонорара будет равно 0. Это и есть минимальный гонорар, как не трудно заметить, его мы можем получить двумя способами.
Название |
---|