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

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

거리

면접 대비

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

요약
격자 위의 점 N개가 주어질 때 모든 서로 다른 쌍의 맨해튼 거리 합을 구한다.
난이도

보통10점 중 5점

유형
수학, 정렬, 누적 합, 배열
정답자
아직 제출이 없습니다

문제

맨해튼시는 남북 방향의 도로인 스트리트와 동서 방향의 도로인 애비뉴가 격자 모양으로 놓인 도시이다. 스트리트는 동쪽에서 서쪽으로 1번부터 번호가 매겨지고, 애비뉴는 북쪽에서 남쪽으로 1번부터 번호가 매겨진다. 각 교차로는 스트리트 번호와 애비뉴 번호의 쌍 (s,a)(s, a)로 나타낸다. 두 교차로 (s1,a1)(s_1, a_1)과 (s2,a2)(s_2, a_2) 사이의 거리는 ∣s1−s2∣+∣a1−a2∣|s_1-s_2| + |a_1-a_2|이다.

여러분의 회사는 맨해튼의 서로 다른 교차로에서 푸드 트럭을 여러 대 운영하고 있으며, 트럭끼리 서로 경쟁하지 않도록 트럭을 넓게 분산시키려고 한다. 트럭이 얼마나 넓게 분산되어 있는지 가늠하기 위해, 서로 다른 모든 푸드 트럭 쌍 사이의 거리의 합을 구하기로 했다. 이 합이 작으면 평균적으로 푸드 트럭 한 쌍이 서로 너무 가까이 있다는 뜻이다.

서로 다른 모든 푸드 트럭 쌍 사이의 거리의 합은 얼마인가?

입력

첫째 줄에는 푸드 트럭의 수인 정수 NN이 주어진다. (2≤N≤200 0002 \leq N \leq 200\,000)

다음 nn개 줄에는 푸드 트럭의 위치가 주어진다. 각 줄에는 이 푸드 트럭의 스트리트 번호인 정수 ss와 애비뉴 번호인 정수 aa가 주어진다. (1≤s≤1 000 0001 \leq s \leq 1\,000\,000, 1≤a≤1 000 0001 \leq a \leq 1\,000\,000)

출력

서로 다른 모든 푸드 트럭 쌍 사이의 거리의 합을 출력한다.

예제1

  1. 예제 1

    입력
    3
    1 1
    4 5
    2 3
    
    예상 출력
    14