Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Dế Mèn là một câu bé rất chăm học. Hiện tại, anh ấy đang tìm hiểu về XOR - một toán tử thao tác bit. Bạn cũng có thể tìm hiểu về XOR tại đây.
Sau khi đã hiểu về XOR, Dế Mèn quyết định thực hiện 1 số bài tập liên quan đến toán tử này. Trong số đó, có 1 bài tập thú vị như sau: Cho dãy ~a~ gồm ~n~ phần tử. Đếm số cặp (i, j) với ~i < j~ thoả mãn ~a_i ⊕ a_j \le 1~ (với ~⊕~ là ký hiệu của toán tử XOR).
Dế Mèn đang gặp khó khăn khi giải bài tập này, các bạn hãy giúp anh ấy nhé.
Dữ liệu
- Dòng đầu tiên ghi hai số nguyên ~n~ (~1 \le n \le 10^5~) - số phân tử của dãy a.
- Dòng thứ hai ghi n số nguyên của dãy a (~1 \le a_i \le n~)
In ra kết quả
In ra số cặp ~(i, j)~ với ~i < j~ thoả mãn ~a_i ⊕ a_j \le 1~
Sample Input 1
3
2 3 1
Sample Output 1
1
Sample Input 2
3
2 2 2
Sample Output 2
3
Giải thích
- Ở ví dụ 1, các cặp ~(i, j)~ thoả mãn ~(1, 2)~
- Ở ví dụ 1, mọi cặp ~(i, j)~ đều thoả mãn
Chấm điểm
- Subtask 1 (~20%~ số test): ~n, a_i \le 1000~
- Subtask 2 (~20%~ số test): ~a_i \le 1000~
- Subtask 1 (~60%~ số test): Không có ràng buộc gì thêm
Bình luận