아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

버스

시간 제한2초메모리 제한512 MB

요약
승객들이 가장 가까운 빈 좌석에 앉거나 점유된 좌석 옆에 서는 버스 승하차를 시뮬레이션하고, 안톤 위에 누군가 서 있는 총 시간을 최소화하는 좌석을 고른다.
난이도

어려움10점 중 8점

유형
시뮬레이션, 그리디, 구현, 구간
정답자
아직 제출이 없습니다

문제

안톤은 매일 아침 버스를 타고 출근한다.

버스 노선에는 nn개의 정류장이 있고, 진행 순서대로 11번부터 nn번까지 번호가 붙어 있다. 버스는 각 정류장에서 다음 정류장까지 1분에 이동하며, 정차 시간은 무시할 수 있다. 안톤은 첫 번째 정류장에서 타서 마지막 정류장에서 내린다.

버스에는 mm개의 좌석이 한 줄로 놓여 있고 11번부터 mm번까지 번호가 붙어 있다. 출입구에 가장 가까운 좌석이 11번이고 가장 먼 좌석이 mm번이다. 각 좌석에는 한 명이 앉을 수 있고, 각 좌석 옆에는 한 명이 설 수 있다.

사람이 버스에 타면 출입구에 가장 가까운 빈 좌석에 앉는다. 모든 좌석이 차 있으면, 아무도 서 있지 않은 좌석 중 출입구에 가장 가까운 것을 찾아 그 좌석에 앉은 사람 위에 서서 견제한다. 그런 자리도 없으면 버스에서 내린다.

각 승객은 목적지 정류장에 도착할 때까지 자기 자리에 머문다. 서 있는 승객은 좌석이 비더라도 계속 서 있는다.

각 정류장에서는 그 정류장에서 내리려던 승객이 모두 내린 뒤에야 새 승객이 탄다.

안톤은 버스에 가장 먼저 탔고, 아무 좌석에나 앉아 여정이 끝날 때까지 그 자리에 머물 수 있다. 그는 버스에 누가 더 타는지 잘 알고 있으며, 각 승객이 어느 정류장에서 타고 어느 정류장에서 내리는지도 안다. 안톤이 여정 동안 자기 위에 서서 견제하는 시간의 합이 최소가 되도록 자리를 고르게 도와주자.

입력

첫째 줄에 세 정수 nn, mm, kk가 주어진다. 각각 정류장의 수, 버스 좌석의 수, 안톤을 제외한 승객의 수이다 (2≤n≤1092 \le n \le 10^9, 1≤m≤2⋅1051 \le m \le 2\cdot10^5, 0≤k≤2⋅1050 \le k \le 2\cdot10^5).

다음 kk개 줄에 두 수 a_ia\_i와 b_ib\_i가 주어진다. ii번째 승객이 a_ia\_i번째 정류장에서 타서 b_ib\_i번째 정류장에서 내린다는 뜻이다 (1≤a_i<b_i≤n1 \le a\_i < b\_i \le n).

한 정류장에서 여러 명이 버스에 타면 입력에 나온 순서대로 탄다.

출력

한 줄에 두 수를 출력한다. 안톤 위에 서서 견제하는 시간의 합의 최솟값(분)과, 그 값을 위해 안톤이 앉아야 할 좌석 번호이다. 그러한 좌석이 여러 개면 출입구에 가장 가까운 것을 출력한다.

예제1

  1. 예제 1

    입력
    10 2 3
    1 10
    3 9
    7 10
    
    예상 출력
    3 2