Tổng khoảng cách nghịch thế

Đề bài

Mô tả

Cho mảng a1,a2,…,an. Một nghịch thế là cặp chỉ số (i,j) với 1≤i<j≤n và ai>aj.

Hãy tính tổng "khoảng cách" của các nghịch thế: T=∑1≤i<j≤nai>aj(j−i).

Dữ liệu vào

  • Dòng đầu: số nguyên n.
  • Dòng thứ hai: n số nguyên a1,a2,…,an.

Dữ liệu ra

In một số nguyên — giá trị T.

Ràng buộc

  • 1≤n≤2·105
  • 1≤ai≤109
  • Giá trị T không vượt 2·1015, vừa khít kiểu nguyên 64-bit có dấu.

Ví dụ

Input Output Giải thích
5
3 1 4 1 5
5 Các nghịch thế là (1,2), (1,4), (3,4) với j−i lần lượt là 1,3,1. Tổng =1+3+1=5.
4
4 3 2 1
10 Mảng giảm hoàn toàn, mọi cặp i<j đều là nghịch thế. Tổng (j−i)=1+2+3+1+2+1=10.
3
1 2 3
0 Mảng tăng nên không có nghịch thế.

Ghi chú

  • Khi mảng phân biệt và giảm hoàn toàn, T=(n+13).
  • Hãy chú ý kiểu dữ liệu: T có thể đạt cỡ 1015, cần dùng kiểu nguyên 64-bit.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0