Dãy số của Dima

Đề bài

Mô tả

Cho hàm f xác định trên tập số nguyên không âm bằng đệ quy:

  • f(0)=0;
  • f(2x)=f(x);
  • f(2x+1)=f(x)+1.

Cho dãy số nguyên dương a1,a2,…,an. Hãy đếm số cặp chỉ số (i,j) với 1≤i<j≤n sao cho f(ai)=f(aj).

Dữ liệu vào

  • Dòng đầu chứa số nguyên n.
  • Dòng thứ hai chứa n số nguyên dương a1,a2,…,an.

Dữ liệu ra

  • In ra một số nguyên duy nhất là số cặp chỉ số thoả mãn.

Ràng buộc

  • 1≤n≤105
  • 1≤ai≤109

Ví dụ

Input Output Giải thích
3
1 2 4
3 f(1)=f(2)=f(4)=1, do đó cả 3 cặp đều thoả mãn.
3
5 3 1
1 f(5)=2, f(3)=2, f(1)=1. Chỉ có cặp (1,2) thoả mãn.
6
396640239 62005863 473635171 329666981 510631133 207643327
2 Có 2 cặp chỉ số (i,j) mà f(ai)=f(aj).

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