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

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

소 줄 세우기

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

요약
모든 서로 다른 품종을 적어도 하나씩 포함하도록 소들의 x좌표 구간을 잡을 때, 최소 크기를 구한다.
난이도

보통10점 중 6점

유형
정렬, 슬라이딩 윈도우, 해시맵, 투 포인터
정답자
아직 제출이 없습니다

문제

농장에 존재하는 모든 서로 다른 품종을 각각 최소 한 마리씩 포함하는 사진 한 장을 찍으려고 한다.

NN마리의 소가 직선 위 여러 위치에 서 있다. 각 소는 정수 위치(xx 좌표)와 정수 품종 번호로 표현된다. 사진은 직선 위에서 연속된 구간에 속한 소들을 담으며, 그 비용은 사진의 크기, 즉 구간에 포함된 소들의 xx 좌표 중 최댓값과 최솟값의 차이와 같다.

농장에 존재하는 모든 서로 다른 품종을 각각 최소 한 마리씩 포함하는 사진의 최소 비용을 구하라.

입력

  • 첫째 줄: 소의 수 NN (1≤N≤50,0001 \le N \le 50{,}000).
  • 둘째 줄부터 N+1N+1번째 줄까지: 각 줄에 한 마리 소의 xx 좌표와 품종 번호가 공백으로 구분되어 주어진다. 두 값 모두 1,000,000,0001{,}000{,}000{,}000 이하의 양의 정수이다.

출력

  • 모든 서로 다른 품종 번호를 각각 최소 한 마리씩 포함하는 사진의 최소 비용을 한 줄에 출력한다.

힌트

예를 들어 소가 66마리이고 위치가 각각 25,26,15,22,20,3025, 26, 15, 22, 20, 30, 품종 번호가 각각 7,1,1,3,1,17, 1, 1, 3, 1, 1이라고 하자. 서로 다른 품종은 11, 33, 77이다. x=22x = 22부터 x=26x = 26까지의 구간은 크기가 44이고 세 품종을 모두 포함하며, 이것이 가능한 최소 비용이다.

예제3

  1. 예제 1

    입력
    6
    25 7
    26 1
    15 1
    22 3
    20 1
    30 1
    
    예상 출력
    4
    
  2. 예제 2

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

    입력
    4
    1 5
    100 5
    50 5
    7 5
    
    예상 출력
    0