만드는 중입니다

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

라벨이 붙은 점

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

요약
모든 쌍의 거리가 2 이상이 되도록 N개의 점 중 K개를 고르고, 번호열이 사전순으로 가장 작은 답을 구합니다.
난이도

어려움10점 중 8점

유형
그래프, 그리디
정답자
아직 제출이 없습니다

문제

평면 위에 NN개의 점이 있다. 각 점에는 11부터 NN까지의 양의 정수 번호가 붙어 있다. 각 점 (xi,yi)(x_i, y_i)의 좌표는 양의 정수이며, xi mod 2=⌊yi/2⌋ mod 2x_i \bmod 2 = \lfloor y_i / 2 \rfloor \bmod 2를 만족한다.

이 점들 중 KK개를 골라 수열을 만든다. 수열에 속한 임의의 두 점 사이의 거리는 22 이상이어야 한다. 이런 수열 가운데 점 번호의 수열이 사전순으로 가장 작은 것을 구하라.

입력

첫 줄에 두 정수 NN과 KK가 주어진다 (2≤K≤N≤60002 \le K \le N \le 6000). 다음 NN개의 줄에는 점의 좌표 두 정수 xix_i와 yiy_i가 한 줄에 하나씩 주어진다 (1≤xi,yi≤1091 \le x_i, y_i \le 10^9, xi mod 2=⌊yi/2⌋ mod 2x_i \bmod 2 = \lfloor y_i / 2 \rfloor \bmod 2).

모든 점은 서로 다르다.

출력

두 점 사이의 거리가 모두 22 이상이 되도록 KK개의 점을 고를 수 없으면 −1-1을 출력한다. 그렇지 않으면 사전순으로 가장 작은 유효한 수열의 KK개 번호를 한 줄에 하나씩 출력한다.

예제3

  1. 예제 1

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

    입력
    4 3
    2 1
    1 2
    1 3
    2 4
    
    예상 출력
    -1
    
  3. 예제 3

    입력
    5 3
    5 7
    5 6
    6 8
    20 20
    4 8
    
    예상 출력
    2
    3
    4