Duyên hải Bắc Bộ 2016 - Phép toán thao tác bit
Xem dạng PDF
Gửi bài giải
Điểm:
20,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
1G
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT
Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Khi còn là một học sinh chuyên Tin của trường CTN, được học về các phép toán thao tác bit, Hiếu đã sáng tạo ra nhiều bài toán để giúp các bạn trong lớp cùng luyện tập. Dưới đây là một trong số các bài toán có liên quan đến các phép toán AND, OR, XOR.
Cho hai số nguyên không âm ~L, R~ và dãy số nguyên không âm ~a_1, a_2, ..., a_n~. Hãy đếm số lượng bộ 4 chỉ số ~(i_1, i_2, i_3, i_4)~ thỏa mãn điều kiện sau: 1) ~1 \le i_1 < i_2 < i_3 < i_4 \le n~; 2) ~L \le (((a_{i_1} \text{ AND } a_{i_2}) \text{ OR } a_{i_3}) \text{ XOR } a_{i_4}) \le R~.
Bạn hãy cùng Hiếu lập trình giải quyết bài toán trên.
Input
- Dòng thứ nhất chứa ba số nguyên ~n, L, R~ (~0 \le L \le R \le 1000~);
- Dòng thứ hai chứa ~n~ số nguyên không âm ~a_1, a_2, ..., a_n~ (~a_1, a_2, ..., a_n \le 1000~). Hai số liên tiếp trên cùng dòng được ghi cách nhau bởi dấu cách.
Output
- Ghi một số nguyên là số bộ 4 chỉ số ~(i_1, i_2, i_3, i_4)~ thỏa mãn điều kiện đề bài.
Sample Input 1
5 0 1
2 3 4 1 6
Sample Output 1
1
Subtasks
- Có 20% số test ứng với 20% số điểm có ~n \le 40~;
- Có 20% số test khác ứng với 20% số điểm có ~n \le 400~ và ~L = R~;
- Có 20% số test khác ứng với 20% số điểm có ~n \le 400~ và ~L < R~;
- Có 20% số test khác ứng với 20% số điểm có ~n \le 4000~ và ~L = R~;
- Có 20% số test còn lại ứng với 20% số điểm có ~n \le 4000~ và ~L < R~.
Bình luận