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

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

에너지 수집

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

요약
서로 겹치지 않는 축 정렬 정사각형들이 주어질 때, 엄격히 겹치면서 자신보다 작지 않은 정사각형만 수집하는 축 정렬 수집기 정사각형을 골라 최대 개수를 구한다.
난이도

보통10점 중 7점

유형
기하, 이분 탐색, 정렬, 누적 합
정답자
아직 제출이 없습니다

문제

여러 개의 서로 겹치지 않는 에너지 셀이 놓인 정사각형 격자가 주어진다. 각 에너지 셀은 그 자체가 정사각형이다. 셀들의 크기는 서로 다를 수 있지만, 모든 셀은 같은 양의 에너지를 만들어 낸다.

당신은 하나의 정사각형 수집기를 사용해 가능한 한 많은 에너지를 모으려고 한다. 수집기는 격자 위에 놓여 격자에 정렬된 상태를 유지하며, 한 변의 길이는 임의의 양의 정수로 정할 수 있다.

수집기는 다음 두 조건이 모두 성립할 때에만 해당 에너지 셀의 에너지를 전부 가져온다.

  • 수집기와 셀이 양(positive)의 넓이로 겹친다 (변끼리 맞닿거나 한 점에서만 닿는 것은 겹치는 것으로 치지 않는다).
  • 에너지 셀이 수집기보다 크거나 같다. 수집기보다 작은 셀은 위치와 상관없이 절대 수집할 수 없다.

수집한 에너지의 총량이 최대가 되도록 수집기의 위치와 한 변의 길이를 정하라.

에너지 셀과 수집기

입력

입력은 여러 개의 테스트 케이스로 이루어진다.

각 테스트 케이스의 첫 줄에는 에너지 셀의 개수를 나타내는 정수 NN (1≤N≤10001 \le N \le 1000)이 주어진다. 이어지는 NN개의 줄에는 각 셀을 나타내는 네 정수 x1x_1, y1y_1, x2x_2, y2y_2가 공백으로 구분되어 주어진다. 여기서 (x1,y1)(x_1, y_1)은 셀의 왼쪽 아래 꼭짓점, (x2,y2)(x_2, y_2)는 오른쪽 위 꼭짓점이며, −106≤x1<x2≤106-10^6 \le x_1 < x_2 \le 10^6, −106≤y1<y2≤106-10^6 \le y_1 < y_2 \le 10^6, x2−x1=y2−y1x_2 - x_1 = y_2 - y_1 (모든 셀은 정사각형)을 만족한다. 한 테스트 케이스 안의 셀들은 서로 겹치지 않는다.

입력의 마지막 줄에는 N=0N = 0이 주어지며, 이 줄은 처리하지 않는다.

출력

모든 에너지 셀은 같은 양의 에너지를 내므로, 에너지를 셀 한 개를 단위로 측정한다.

각 테스트 케이스마다, 하나의 수집기가 수집할 수 있는 에너지 셀의 최대 개수를 한 줄에 정수 하나로 출력하라. 이 최댓값은 유일하다.

예제3

  1. 예제 1

    입력
    5
    3 3 4 4
    0 0 3 3
    0 4 3 7
    4 0 7 3
    4 4 7 7
    0
    
    예상 출력
    4
    
  2. 예제 2

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

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