Phép toán thao tác bit ~XOR~ lấy hai dãy bit có cùng độ dài và thực hiện phép toán logic bao hàm ~XOR~ trên mỗi cặp bit tương ứng. Kết quả ở mỗi vị trí là 1 chỉ khi bit đầu tiên là 1 hoặc nếu chỉ khi bit thứ hai là 1, nhưng sẽ là 0 nếu cả hai là 0 hoặc cả hai là 1. Ở đây ta thực hiện phép so sánh hai bit, kết quả là 1 nếu hai bit khác nhau và là 0 nếu hai bit giống nhau. Ví dụ:
Thành phố T mới được thành lập cách đây cách đây một năm. Hiện tại trong thành phố có n người dân đang sinh sống. Mỗi người dân sẽ có một con số yêu thích của riêng họ. Hiện tại vị thị trưởng này có trong tay danh sách số yếu thích của từng người. Số yêu thích của người thứ ~i~ là ~x_i~. Nhân dịp kỉ niệm một năm thành lập thành phố, thị trưởng muốn chọn ra một con số để làm số đặc biệt của thành phố. Đối với ngài thì một số ~p~ không âm được gọi là xem xét là số đặc biệt nếu nhưng ~( x_1~ ~xor~ ~p) + (x_2~ ~xor~ ~p) + ... +(x_n~ ~xor~ ~p) ≤ m ~.
Ngày kỉ niệm đang cận kề, mà ngài thị trưởng thì lại đang quá bận rộn với sổ sách và giấy tờ. Bạn là một cư dân của thành số và là một cao thử lập trình. Bạn hãy giúp ngài thị trưởng tìm ra số p lớn nhất có thể nhé.
**Dữ liệu vào: **
Dòng đầu tiên gồm có số ~t~ là số lượng test. Tiếp đến là ~t~ nhóm dòng, mỗi nhóm gồm 2 dòng là thông tin về một test.
Dòng đầu tiên của mỗi nhóm gồm hai số ~n~ và ~m~
Dữ liệu ra:
Ví dụ:
Input
2
5 30
1 2 3 4 5
4 10
1 2 3 4
Output
7
3
Giới hạn:
Code tích cực |
---|
Trong 24h |
|
Trong 7 ngày |
Trong 30 ngày |
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 37787 |