Bộ số tần suất

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1000 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho một dãy gồm \(n\) số nguyên dương \(A_1, A_2, \dots, A_n\).

Ký hiệu \(cnt[x]\) là số lần xuất hiện của giá trị \(x\) trong dãy.

Hãy đếm số cặp chỉ số \((i, j)\) thỏa mãn:

  • \(1 \le i < j \le n\)
  • \(cnt[A_i] = cnt[A_j]\)

Nói cách khác, cần đếm số cặp vị trí mà hai giá trị tại các vị trí đó xuất hiện trong dãy với cùng tần suất.

Input

  • Dòng đầu tiên chứa số nguyên \(n\) (\(1 \le n \le 10^5\)).
  • Dòng thứ hai chứa \(n\) số nguyên dương \(A_1, A_2, \dots, A_n\) (\(1 \le A_i \le 10^6\)).

Output

  • In ra một số nguyên duy nhất là số cặp chỉ số \((i, j)\) thỏa mãn yêu cầu.

Example

Test 1

Input
5
1 1 2 3 3
Output
6

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.