QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 64 MB Total points: 100

#23809. Шагающий Санта-Клаус

Statistics

Условие задачи

В конце прошлого года Санта-Клаус забыл подарить рождественские подарки детям из деревни JOI. Поэтому в знак извинения он решил доставить детям шоколадные торты. Поскольку день доставки уже завтра, пора продумать план передвижения.

Деревня JOI разделена в виде сетки $W$ прямыми дорогами, идущими с севера на юг, и $H$ прямыми дорогами, идущими с востока на запад. $W$ дорог направления север-юг пронумерованы по порядку с запада числами $1, 2, \dots, W$, а $H$ дорог направления восток-запад пронумерованы по порядку с юга числами $1, 2, \dots, H$. Перекрёсток, на котором пересекаются $x$-я с запада дорога север-юг и $y$-я с юга дорога восток-запад, обозначается как $(x, y)$. В деревне JOI есть $N$ домов, и каждый из них расположен на некотором перекрёстке. Санта-Клаус может перемещаться только вдоль дорог. Время, необходимое для перемещения между соседними перекрёстками, равно $1$.

Поскольку во всех домах деревни JOI есть дети, Санта-Клаус должен обойти все дома деревни JOI и доставить в каждый по $1$ шоколадному торту. Так как летать по небу с оленями, держа драгоценные шоколадные торты, довольно опасно, Санта-Клаус и олени решили приземлиться на каком-нибудь перекрёстке деревни JOI, откуда Санта-Клаус пойдёт разносить шоколадные торты пешком. Санта-Клаус не носит при ходьбе одновременно $2$ или более шоколадных тортов. Иными словами, каждый раз, доставив шоколадный торт в $1$ дом, Санта-Клаус возвращается на перекрёсток, на котором он приземлился.

Санта-Клаус решил выбрать такой план передвижения, при котором общее время от момента приземления в деревне JOI до доставки шоколадных тортов во все дома будет минимальным. Обратите внимание, что время, необходимое для возвращения на перекрёсток приземления после доставки шоколадного торта в последний дом, не включается в требуемое время. Кроме того, ничто, кроме времени на перемещение, не учитывается.

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

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

Считайте следующие данные из стандартного потока ввода:

  • В $1$-й строке через пробел записаны целые числа $W, H$, означающие количество дорог каждого направления.
  • Во $2$-й строке записано целое число $N$, означающее количество домов.
  • В следующих $N$ строках записана информация о расположении домов. В $(i + 2)$-й строке ($1 \le i \le N$) через пробел записаны целые числа $X_i, Y_i$, означающие, что $i$-й дом расположен на перекрёстке $(X_i, Y_i)$. Все эти $N$ перекрёстков различны.

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

Выведите в стандартный поток вывода следующие данные:

  • В $1$-й строке должно быть записано $1$ целое число, обозначающее минимальное требуемое время.
  • Во $2$-й строке, если перекрёсток, на котором следует приземлиться для минимизации требуемого времени, имеет координаты $(x, y)$, должны быть через пробел в этом порядке записаны $2$ целых числа $x, y$. Если подходящих перекрёстков несколько, выберите из них самый западный (то есть с наименьшим значением $x$), а если и это не определяет $1$ перекрёсток однозначно, выберите среди них самый южный (то есть с наименьшим значением $y$).

Пример

Пример 1

Входные данные
5 4
3
1 1
3 4
5 3
Выходные данные
10
3 3
Пояснение

Например, минимизировать требуемое время можно с помощью следующего плана передвижения:

  • Приземлиться на перекрёстке $(3, 3)$.
  • Доставить шоколадный торт в дом, расположенный на перекрёстке $(3, 4)$. Прошедшее к этому моменту время равно $1$.
  • Вернуться на перекрёсток $(3, 3)$. Прошедшее к этому моменту время равно $2$.
  • Доставить шоколадный торт в дом, расположенный на перекрёстке $(5, 3)$. Прошедшее к этому моменту время равно $4$.
  • Вернуться на перекрёсток $(3, 3)$. Прошедшее к этому моменту время равно $6$.
  • Доставить шоколадный торт в дом, расположенный на перекрёстке $(1, 1)$. Прошедшее к этому моменту время равно $10$.

Пример 2

Входные данные
4 6
8
1 3
3 2
4 4
2 5
2 3
3 3
3 4
2 4
Выходные данные
21
2 3
Пояснение

Обратите внимание, что приземляться можно и на перекрёстке, где находится дом.

Ограничения

  • $1 \le W \le 1000000000 = 10^9$: количество дорог, идущих с севера на юг.
  • $1 \le H \le 1000000000 = 10^9$: количество дорог, идущих с востока на запад.
  • $1 \le N \le 100000 = 10^5$: количество домов.
  • $1 \le X_i \le W$: номер дороги направления север-юг для положения $i$-го дома.
  • $1 \le Y_i \le H$: номер дороги направления восток-запад для положения $i$-го дома.

Обратите внимание, что в этой задаче диапазон обрабатываемых целых чисел может не помещаться в $32$-битный целочисленный тип.

Система оценки

  • Для тестов стоимостью $40\%$ от общего числа баллов выполняется условие $N \le 1000$.
  • Для тестов стоимостью $10\%$ от общего числа баллов выполняются условия $W \le 50, H \le 50, N \le 1000$.

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.