건초 더미 쌓기

시간 제한1초메모리 제한128 MB

요약
주어진 각 구간의 모든 더미에 건초를 하나씩 추가한 뒤, N개 더미 높이의 중앙값을 구한다.
난이도

보통10점 중 4점

유형
누적 합, 배열, 정렬, 구현
정답자
아직 제출이 없습니다

문제

최근 농장에서 저지른 온갖 장난이 미안했던 베시는, 농부 존에게 새로 들어온 건초 더미를 쌓는 일을 돕기로 했다.

처음에는 11번부터 NN번까지 번호가 매겨진, 비어 있는 더미가 NN개 있다 (1≤N≤10000001 \le N \le 1000000, NN은 홀수). 존은 베시에게 KK개의 지시를 차례로 내린다 (1≤K≤250001 \le K \le 25000). 각 지시는 "AA BB" 형태이며, 이는 AA번부터 BB번까지 범위에 있는 모든 더미의 맨 위에 새 건초 더미를 하나씩 올리라는 뜻이다. 예를 들어 지시가 "1010 1313"이라면, 베시는 1010, 1111, 1212, 1313번 더미에 각각 건초를 하나씩 올린다.

베시가 모든 지시를 마친 뒤, 존은 NN개의 더미의 중앙값 높이를 알고 싶어 한다. 즉, 더미들을 높이 순으로 정렬했을 때 한가운데에 오는 더미의 높이다. NN이 홀수이므로 이 더미는 유일하게 정해진다. 베시가 답을 구할 수 있도록 도와주자.

입력

  • 첫째 줄: 공백으로 구분된 두 정수 NN과 KK.
  • 둘째 줄부터 KK개의 줄: 각 줄에는 지시 하나가 공백으로 구분된 두 정수 AA BB (1≤A≤B≤N1 \le A \le B \le N) 형태로 주어진다.

출력

  • 모든 지시를 마친 뒤 더미 높이의 중앙값을 한 줄에 출력한다.

힌트

N=7N = 7개의 더미가 있고 K=4K = 4개의 지시가 주어지는 경우를 살펴보자. 지시를 모두 처리하면 각 더미의 높이는 차례로 0,1,2,3,3,1,00, 1, 2, 3, 3, 1, 0이 된다. 이를 정렬하면 0,0,1,1,2,3,30, 0, 1, 1, 2, 3, 3이고, 한가운데(네 번째) 값이 11이므로 중앙값은 11이다.

예제5

  1. 예제 1

    입력
    7 4
    5 5
    2 4
    4 6
    3 5
    
    예상 출력
    1
    
  2. 예제 2

    입력
    1 1
    1 1
    
    예상 출력
    1
    
  3. 예제 3

    입력
    3 1
    1 1
    
    예상 출력
    0
    
  4. 예제 4

    입력
    5 2
    1 5
    1 5
    
    예상 출력
    2
    
  5. 예제 5

    입력
    5 3
    1 3
    3 5
    2 4
    
    예상 출력
    2