eolymp
bolt
Try our new interface for solving problems
Məsələlər

Автобус

Автобус

Каждое утро Антон едет на работу на автобусе. Маршрут автобуса включает в себя $n$ остановок, пронумерованных от $1$ до $n$ в порядке следования. Автобус проезжает от каждой остановки до следующей за одну минуту, а его временем стоянки можно пренебречь. Антон садится на первой остановке и выходит на последней. В автобусе есть $m$ сидений, которые расположены в один ряд и пронумерованы от $1$ до $m$, ближайшее к входу сиденье имеет номер $1$, а самое дальнее --- номер $m$. На каждом сиденье может сидеть один пассажир, а также возле каждого сиденья может стоять один пассажир. Когда человек входит в автобус, он садится на ближайшее ко входу свободное сиденье. Если они все заняты, он ищет ближайшее ко входу сиденье, рядом с которым никто не стоит, и встаёт у сидящего там человека над душой. Если такого места нет, он выходит из автобуса. Каждый пассажир остаётся на своём месте до прибытия на нужную ему остановку. Стоящий пассажир остаётся стоять, даже если какое-то сиденье освободилось. На каждой остановке из автобуса сначала выходят все пассажиры, которые собирались выйти на этой остановке, и только потом заходят новые. Антон зашёл в автобус первым, он может сесть на любое сиденье и остаться на нём до конца поездки. Он хорошо знает, кто ещё будет ехать в автобусе, про каждого пассажира Антон знает, на какой остановке тот войдет в автобус и на какой выйдет. Помогите Антону выбрать место так, чтобы во время поездки у него как можно меньше суммарно стояли над душой. \InputFile В первой строке заданы три целых числа $n, m$ и $k~(2 \le n \le 10^9, 1 \le m \le 2 \cdot 10^5, 0 \le k \le 2 \cdot 10^5)$ --- количество остановок, количество сидений в автобусе и количество пассажиров, кроме Антона. В следующих $k$ строках задано по два числа $a_i$ и $b_i$, которые означают, что $i$-й пассажир собирается войти на $a_i$-й остановке и выйти на $b_i$-й $(1 \le a_i < b_i \le n)$. Если на одной остановке в автобус заходит несколько человек, они заходят в том порядке, в котором они перечислены во входных данных. \OutputFile Выведите два числа на одной строке --- минимальное суммарное время в минутах, в течение которого у Антона будут стоять над душой, и номер места, на которое для этого нужно сесть. Если таких мест несколько, выведите ближайшее ко входу.
Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 128 MiB
Giriş verilənləri #1
10 2 3
1 10
3 9
7 10
Çıxış verilənləri #1
3 2
Mənbə 2016 XVII Всероссийская командная олимпиада школьников по программированию, 11 декабря, Задача B