trang chủ / đề bài / nb_ts10_22_cau3

Dãy số

Đề bài

Mô tả

Cho dãy A gồm N số nguyên dương. Mỗi cặp số trong dãy A được gọi là cặp số khác nhau nếu cặp số này ở vị trí khác nhau trong dãy số và có giá trị khác nhau.

Cặp số được xét không phân biệt thứ tự: cặp gồm phần tử ở vị trí i và phần tử ở vị trí j (với i<j) chỉ được đếm một lần.

Yêu cầu: Đếm xem trong dãy A có bao nhiêu cặp số khác nhau.

Dữ liệu vào

  • Dòng 1: số nguyên dương N (3≤N≤106).
  • Dòng 2: N số nguyên của dãy A, mỗi số có giá trị không quá 106, các số cách nhau ít nhất một khoảng trắng.

Dữ liệu ra

In ra số lượng các cặp số khác nhau.

Ràng buộc

  • 3≤N≤106.
  • 1≤Ai≤106.

Subtasks

  • 40% số test có 3≤N≤5000.
  • 40% số test có 104<N≤105.
  • 20% số test có 5×105<N≤106.

Ví dụ

Input Output Giải thích
4
4 5 6 4
5 Có 6 cặp vị trí; chỉ cặp vị trí (1,4) có hai giá trị bằng nhau (cùng bằng 4), nên còn 5 cặp số khác nhau.
6
2 2 2 3 3 7
11 Có 15 cặp vị trí; trong đó 3 cặp cùng giá trị 2 và 1 cặp cùng giá trị 3, còn 15−4=11 cặp.
3
1 2 3
3 Mọi cặp vị trí đều có giá trị khác nhau.

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