Dãy Kerbal dễ tổn thương
Đề bài
Mô tả
Cho số nguyên và một danh sách gồm số nguyên phân biệt nằm trong đoạn , gọi là các số bị cấm.
Hãy xây dựng một dãy số thỏa mãn đồng thời các điều kiện sau:
- Mỗi phần tử là số nguyên trong đoạn .
- Tất cả các tích tiền tố lấy dư cho đều đôi một khác nhau. Tích tiền tố thứ được định nghĩa là .
- Không có tích tiền tố nào (lấy dư cho ) trùng với một số bị cấm.
- Độ dài của dãy là lớn nhất có thể.
Nếu có nhiều dãy thỏa mãn, in ra một dãy bất kỳ.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và : số lượng số bị cấm và số .
- Nếu , dòng thứ hai chứa số nguyên phân biệt trong đoạn , là các số bị cấm. Nếu , dòng này không xuất hiện.
Dữ liệu ra
- Dòng đầu in số nguyên : độ dài dãy tìm được.
- Dòng thứ hai in số nguyên cách nhau bởi dấu cách.
Ràng buộc
- .
- Các số bị cấm phân biệt và nằm trong đoạn .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 10 1 2 9 |
6 3 9 2 4 8 0 |
Các tích tiền tố theo modulo là : đôi một khác nhau và không chứa số bị cấm nào trong . Không thể đạt độ dài lớn hơn . |
| 0 5 | 5 1 2 4 3 0 |
Không có số bị cấm. Các tích tiền tố theo modulo là , phủ hết mọi giá trị nên độ dài tối đa là . |
Bình luận