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

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

새해와 성 건설

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

요약
세 점이 한 직선 위에 있지 않은 n개의 점이 주어질 때, 각 점 p를 포함하는 볼록 사각형을 이루는 4개 점 부분집합의 수를 모두 더해 출력한다.
난이도

어려움10점 중 8점

유형
기하, 조합론, 정렬, 투 포인터
정답자
아직 제출이 없습니다

문제

Kiwon이 즐겨 하는 비디오 게임에서 새해 이벤트가 열린다. 이 게임은 성을 짓고 지키는 게임인데, Kiwon은 여기서 다음과 같은 퍼즐을 떠올렸다.

2차원 평면 위에 nn개의 서로 다른 점으로 이루어진 집합 s={(x1,y1),(x2,y2),…,(xn,yn)}s = \{(x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n)\}가 있다. ss에서 서로 다른 세 점은 한 직선 위에 있지 않다. 점 p∈sp \in s에 성을 지어 이 점을 보호할 수 있다. 성은 점 pp를 엄격히 내부에 포함하는 단순 사각형(꼭짓점이 44개인 다각형)이다. 즉, 점 pp는 사각형의 엄격한 내부에 있다.

Kiwon은 pp를 보호하는 성을 지을 때 사용할 수 있는 ss의 44점 부분집합의 개수에 관심이 있다. 하나의 부분집합을 여러 방식으로 이어 점을 둘러쌀 수 있더라도 한 번만 센다.

f(p)f(p)를 점 pp를 둘러쌀 수 있는 44점 부분집합의 개수라고 하자. 모든 점 p∈sp \in s에 대한 f(p)f(p)의 합을 구하라.

입력

첫째 줄에 정수 nn이 주어진다. (5≤n≤2 5005 \le n \le 2\,500)

다음 nn개의 줄에 점의 위치를 나타내는 두 정수 xix_i, yiy_i가 주어진다. (−109≤xi,yi≤109-10^9 \le x_i, y_i \le 10^9)

모든 점은 서로 다르고, 어느 세 점도 한 직선 위에 있지 않음이 보장된다.

출력

모든 점 p∈sp \in s에 대한 f(p)f(p)의 합을 출력한다.

예제3

  1. 예제 1

    입력
    5
    -1 0
    1 0
    -10 -1
    10 -1
    0 3
    
    예상 출력
    2
    
  2. 예제 2

    입력
    8
    0 1
    1 2
    2 2
    1 3
    0 -1
    -1 -2
    -2 -2
    -1 -3
    
    예상 출력
    40
    
  3. 예제 3

    입력
    10
    588634631 265299215
    -257682751 342279997
    527377039 82412729
    145077145 702473706
    276067232 912883502
    822614418 -514698233
    280281434 -41461635
    65985059 -827653144
    188538640 592896147
    -857422304 -529223472
    
    예상 출력
    213