만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

화려한 정사각형

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

요약
평면 위의 색깔 있는 점들이 주어질 때 모든 색의 점을 최소 하나씩 포함하는 변이 축에 평행한 정사각형 중 한 변의 길이가 가장 작은 것을 구합니다.
난이도

어려움10점 중 8점

유형
이분 탐색, 슬라이딩 윈도우, 세그먼트 트리
정답자
아직 제출이 없습니다

문제

평면에 NN개의 점 P1(x1,y1),P2(x2,y2),…,PN(xN,yN)P_1(x_1, y_1), P_2(x_2, y_2), \ldots, P_N(x_N, y_N)이 주어진다. 각 점은 KK개의 색깔 중 하나를 갖고, 색깔은 {1,2,…,K}\{1, 2, \ldots, K\}의 정수로 표현된다.

어떤 정사각형이 KK개의 색깔 각각에 대해 그 색깔의 점을 하나 이상 포함하면, 이 정사각형을 화려한 정사각형이라고 부른다. 변의 길이가 가장 작은 화려한 정사각형을 찾아서 그 변의 길이를 출력하라.

여기서 정사각형은 네 변이 모두 수평 또는 수직인 정사각형만 가리킨다. 정사각형의 내부뿐 아니라 경계에 놓인 점도 정사각형에 포함된다. 한 변의 길이가 0이어서 점으로 나타나는 정사각형도 하나의 경우로 본다.

입력

첫 번째 줄에 두 정수 NN과 KK가 공백 하나로 구분되어 주어진다.

이후 NN개의 줄이 주어진다. ii번째 줄에는 세 정수 xix_i, yiy_i, kik_i가 공백 하나로 구분되어 주어지며, 이는 점 (xi,yi)(x_i, y_i)와 그 점의 색깔 kik_i를 뜻한다.

출력

첫 번째 줄에 문제의 정답을 출력한다.

제한

  • 2≤N≤100 0002 \le N \le 100\,000
  • 2≤K≤N2 \le K \le N
  • 모든 ii (1≤i≤N1 \le i \le N)에 대해, xix_i와 yiy_i는 1 이상 250 000 이하의 정수이다.
  • 모든 색 kk (1≤k≤K1 \le k \le K)에 대해, NN개의 점 중 색깔이 kk인 점이 최소 하나 존재한다.

예제3

  1. 예제 1

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

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

    입력
    4 2
    1 1 1
    1 1 1
    1 1 2
    1 1 2
    
    예상 출력
    0