화려한 정사각형
Unrated
한국어
Language
Contribute a translation- Time limit
- 1000 ms
- Memory limit
- 256 MB
- Submissions
- 0
- Correct
- 0
- Solved by
- 0
- AC rate
- —
Statement
평면에 $N$개의 점 $P1(x1, y1), P2(x2, y2$), . . . , PN(xN, yN)이 주어지며, 각각의 점들은 총 $K$개의 색깔 중 하나를 가지고 있다. 각 점의 색깔은 {1, 2, . . . , $K}$ 중의 한 정수로 표현된다.
어떤 정사각형이 각 $K$개의 색깔에 대해 해당 색깔의 점을 하나 이상 포함하고 있다면, 이 정사각형을 화 려한 정사각형이라고 부른다. 변의 길이를 최소로 하는 화려한 정사각형을 찾아서 그 변의 길이를 출력하는 프로그램을 작성하라.
단, 여기서 정사각형은 네 변이 모두 수평 혹은 수직인 것에 한정하며, 정사각형의 내부가 아닌 경계에 놓인 점들도 그 정사각형에 포함된다고 생각한다. 정사각형의 한 변의 길이가 0이 되어 점으로 나타나는 경우도 정사각형의 한 경우로 간주한다.
Constraints
- $2 \le N \le 100\,000$
- $2 \le K \le N$
- 모든 $i (1 \le i \le N$)에 대해, xi와 yi는 1 이상 250 000 이하의 정수이다.
- 모든 색 $1 \le k \le K$에 대해, $N$개의 점들 중 색깔이 $k$인 점이 최소 하나 존재한다.
Subtasks
- (3점) $N \le 50$, 모든 $i (1 \le i \le N$)에 대해 xi, yi $\le 50$
- (10점) $K \le 50$, 모든 $i (1 \le i \le N$)에 대해 xi, yi $\le 2\,500$
- (12점) $K = 2$.
- (5점) $N \le 50$.
- (8점) $N \le 150$.
- (9점) $N \le 600$.
- (13점) $N \le 2\,500$.
- (40점) 추가 제약 조건 없음.
Input
첫 번째 줄에 두 정수 $N$과 $K$가 공백 하나를 사이로 두고 주어진다.
이후 $N$ 개의 줄이 주어진다. 이 중 $i$ 번째 줄에는 세 개의 정수 xi, yi, ki가 공백 하나 씩을 사이에 두고 주어지며, 입력으로 주어지는 각 점의 좌표 (xi, yi)와 그 점의 색깔 ki을 의미한다.
Output
첫 번째 줄에 문제의 정답을 출력한다.
Examples
Sample input 1
5 2 4 2 1 5 3 1 5 4 2 4 5 2 3 8 2
Sample output 1
1
Sample input 2
4 2 1 1 1 1 1 1 1 1 2 1 1 2
Sample output 2
0
Sample input 3
5 3 4 2 1 5 3 1 5 4 2 4 5 2 3 8 3
Sample output 3
5
Tags
No tags yet