사각형
시간 제한1.7초메모리 제한512 MB
세 점이 한 직선에 놓이지 않는 n개의 점이 주어집니다. 볼록 여부와 최소 넓이에 따라 점수가 달라지는 사각형들의 최대 총점을 구합니다.
문제
사각형은 서로 다른 꼭짓점 네 개와 서로 다른 변 네 개를 가지며, 변끼리 교차하지 않는 다각형이다. 모든 꼭짓점의 내각이 180도보다 작으면 볼록 사각형이라고 하고, 그렇지 않으면 오목 사각형이라고 한다. 아래 그림은 볼록 사각형(왼쪽)과 오목 사각형(오른쪽)이다.

어떤 시험 문제에서는 평면 위의 점 개로 이루어진 집합 가 주어진다. 에 있는 세 점은 한 직선 위에 있지 않다. 에서 점 네 개를 골라 연결하여 사각형을 최대한 많이 찾는 것이 목표다. 의 각 점은 몇 번이든 사용할 수 있고, 찾은 사각형끼리는 겹쳐도 된다. 사각형마다 모양과 넓이에 따라 점수가 주어진다. 볼록 사각형과 넓이가 최소인 사각형일수록 점수가 높다.
에서 점 네 개를 연결해 만들 수 있는 모든 사각형의 넓이 중 최솟값을 라고 한다. 점수는 다음과 같다.
- 넓이가 정확히 인 서로 다른 볼록 사각형은 하나당 4점을 얻는다.
- 넓이가 정확히 인 서로 다른 오목 사각형은 하나당 3점을 얻는다.
- 넓이가 보다 큰 서로 다른 볼록 사각형은 하나당 2점을 얻는다.
- 넓이가 보다 큰 서로 다른 오목 사각형은 하나당 1점을 얻는다.
두 사각형은 꼭짓점과 변이 완전히 같을 때만 같은 사각형으로 본다. 최소 넓이 인 사각형은 두 개 이상일 수 있다.
가 주어졌을 때, 로 만들 수 있는 사각형을 모두 찾아 얻을 수 있는 점수의 합의 최댓값을 구하는 프로그램을 작성하라.
입력
첫 줄에 정수 ()이 주어진다. 은 의 점의 개수이다. 이어지는 개의 줄에는 각각 점의 x좌표와 y좌표를 나타내는 정수 두 개가 주어진다. 좌표는 이상 이하이다. 에 있는 세 점은 한 직선 위에 있지 않다.
출력
얻을 수 있는 점수 합의 최댓값을 나타내는 정수 하나를 한 줄에 출력한다.