// P1908逆序对 #INCLUDE <비트 / stdc ++ H.> 사용 스페이스 성병; 타입 정의 긴 긴 LL; CONST의 INT MXN = 5e5 + (5) ; int로 A [MXN], C [MXN], B [MXN], F [MXN]; INT의 N; 인라인 INT lowbit ( INT X) { 돌아가 , X - X; } 인라인 LL의 GET ( INT X) { LL 합 = 0 ; 대 (; X, X- = lowbit (X)) { 합계 + = C [X]; } 반환 합집합; } 인라인 공극 motify ( INT (X), INT의 Y) { 대 (; X <= N, X + = lowbit (X)) { C [X] + = Y; } } INT 의 main () { CIN >> N; 위한 ( int로 I = 1 ; 나는 <= N; I ++는 ) { 는 scanf ( " %의 D를 " , & A [I]); B [내가] = A [I]; } 정렬 (B + 1 , B +는 N + 1 ); INT N = 고유 (b +의1 , B + N + 1 ) -B- 1 ; 위한 ( int로 I = 1 ; i가 <= N; 내가 ++ ) { A [내가] = LOWER_BOUND (B + 1 , B + N + 1 , A [I]) - B; } 에 대해 ( int로 I = 1 난 ++; i가 N = < {) motify을 (a [i]는, 1 ); F [I] = I- GET (a [I]); } LL ANS = 0 ; 위한 ( int로 I = 1 ; 나는 <= N; I ++는 ) { ANS+ = F [I]; } COUT << ANS; 반환 0 ; }