AND Khác Không
Đề bài
Mô tả
Cho hai số nguyên và . Xét mảng gồm tất cả các số nguyên từ đến (bao gồm cả hai đầu mút), tức là .
Bạn cần xóa đi một số phần tử (có thể không xóa) sao cho phép AND theo bit (bitwise AND) của tất cả các phần tử còn lại khác . Mảng còn lại phải có ít nhất một phần tử.
Hãy tìm số phần tử ít nhất cần xóa.
Dữ liệu vào
- Dòng đầu chứa số nguyên — số lượng test.
- Mỗi test gồm một dòng chứa hai số nguyên và .
Dữ liệu ra
Với mỗi test, in ra một số nguyên là số phần tử ít nhất cần xóa.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 1 2 2 8 4 5 1 5 100000 200000 |
1 3 0 2 31072 |
Test 1: mảng là , . Xóa phần tử (ví dụ số ) thì mảng còn với AND bằng . Test 2: xóa thì còn , AND bằng . Test 3: mảng có nên không cần xóa. |
| 3 3 4 5 6 131071 131072 |
1 0 1 |
Test 1: có AND bằng , xóa một phần tử là đủ. Test 2: có AND bằng . Test 3: và không chung bit nào nên phải xóa một phần tử. |
Bình luận