울타리 계획

면접 대비

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

요약
소가 서로 무는 쌍으로 그룹을 만든 뒤, 한 그룹을 완전히 감싸는 가장 작은 둘레의 축에 평행한 직사각형을 구한다.
난이도

보통10점 중 5점

유형
유니온 파인드, 그래프, 기하, 구현
정답자
아직 제출이 없습니다

문제

농부 John은 NN마리의 소를 기른다. 각 소에는 편의상 1…N1 \ldots N의 번호가 붙어 있다 (2≤N≤1052 \leq N \leq 10^5). 소들은 "무 네트워크"라는 복잡한 사회 구조를 이루는데, 이는 같은 무리끼리만 의사소통하고 다른 무리와는 하지 않는 작은 그룹이다.

각 소는 농장의 2차원 지도 위 서로 다른 (x,y)(x,y) 위치에 있으며, MM쌍의 소가 서로에게 울음소리를 낸다 (1≤M<1051 \leq M < 10^5). 서로에게 울음소리를 내는 두 소는 같은 무 네트워크에 속한다.

농장을 새로 정비하려는 John은 xx축과 yy축에 평행한 변을 가진 직사각형 울타리를 세우려고 한다. John은 적어도 하나의 무 네트워크가 울타리 안에 완전히 들어오도록 하고 싶다. 직사각형의 경계 위에 있는 소도 안에 들어온 것으로 본다. 이 조건을 만족하는 울타리의 둘레로 가능한 최솟값을 구하여라. 이 울타리는 너비나 높이가 0일 수도 있다.

입력

첫째 줄에 NN과 MM이 주어진다. 다음 NN개의 줄에 각 소의 xx좌표와 yy좌표가 주어진다 (최대 10810^8인 음이 아닌 정수). 다음 MM개의 줄에 두 정수 aa와 bb가 주어지며, 이는 소 aa와 소 bb 사이의 무 연결을 나타낸다. 모든 소는 무 연결을 적어도 하나 가지며, 같은 연결이 입력에 두 번 나오지 않는다.

출력

John의 조건을 만족하는 울타리의 둘레로 가능한 최솟값을 출력한다.

예제1

  1. 예제 1

    입력
    7 5
    0 5
    10 5
    5 0
    5 10
    6 7
    8 6
    8 4
    1 2
    2 3
    3 4
    5 6
    7 6
    
    예상 출력
    10