역전쌍의 개수


답안 제출

Points: 15
시간 제한: 2.0s
메모리 제한: 1G

문제 유형

정수로 이루어진 수열 \(A=(A_1,A_2,\dots,A_N)\)이 주어진다.

두 인덱스 \(i\), \(j\)가 다음 조건을 모두 만족하면 \((i,j)\)를 수열 \(A\)의 역전쌍이라고 한다.

  • \(1 \le i < j \le N\)
  • \(A_i>A_j\)

수열 \(A\)에 존재하는 역전쌍의 개수를 구하여라. 두 원소의 값이 같으면 역전쌍으로 세지 않는다.

입력

첫째 줄에 수열의 크기 \(N\)이 주어진다.

둘째 줄에 \(N\)개의 정수 \(A_1,A_2,\dots,A_N\)이 공백으로 구분되어 주어진다.

출력

수열 \(A\)에 존재하는 역전쌍의 개수를 출력한다.

답은 32비트 정수 범위를 벗어날 수 있다.

제한 사항

  • \(1 \le N \le 500,000\)
  • \(-1,000,000,000 \le A_i \le 1,000,000,000\)

예제 입력 1

5
5 3 2 4 1

예제 출력 1

8

예제 설명 1

역전쌍은 \((1,2)\), \((1,3)\), \((1,4)\), \((1,5)\), \((2,3)\), \((2,5)\), \((3,5)\), \((4,5)\)로 총 \(8\)개이다.


코멘트

현재 작성된 코멘트가 없습니다.