Dãy nhị phân
Đề bài
Mô tả
Cho hai dãy nhị phân độ dài và . NSK thực hiện thay thế bit bằng một số nguyên dương chẵn và bit bằng một số nguyên dương lẻ. Sau khi thay thế, hai dãy nhị phân trở thành hai dãy tăng và mỗi số nguyên dương NSK sử dụng để thay thế chỉ được sử dụng tối đa một lần (tính chung cho cả hai dãy). Với mỗi cách thay thế, NSK biết được số nguyên dương lớn nhất mình sử dụng là số nào.
Yêu cầu: Đưa ra số nguyên dương lớn nhất mà nhỏ nhất có thể được sử dụng, tức là giá trị nhỏ nhất có thể của số lớn nhất được dùng, xét trên mọi cách thay thế hợp lệ.
Dữ liệu vào
- Dòng đầu gồm số nguyên, số nguyên đầu tiên là (), số nguyên tiếp theo là các bit của dãy nhị phân đầu tiên (khi dòng này chỉ có số );
- Dòng thứ hai gồm số nguyên, số nguyên đầu tiên là (), số nguyên tiếp theo là các bit của dãy nhị phân thứ hai.
Dữ liệu ra
In ra một số nguyên dương duy nhất là số nguyên dương lớn nhất mà nhỏ nhất được sử dụng.
Ràng buộc
- , ; mỗi bit là hoặc .
- Có số test ứng với số điểm có .
- Có số test ứng với số điểm với dãy nhị phân đầu tiên chỉ gồm bit .
- Có số test ứng với số điểm có .
- số test còn lại ứng với số điểm không có ràng buộc gì thêm.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 0 1 0 1 4 1 0 0 1 |
9 | Một cách thay thế có thể cho hai dãy bit là và . |
| 1 1 3 1 1 0 |
5 | Thay thế thành và . Nếu dãy đầu dùng số thì dãy thứ hai phải là , số lớn nhất là . |
| 0 3 0 0 1 |
5 | Dãy đầu rỗng, dãy thứ hai thay thành . |
Bình luận