Dãy đấu và số kẹo
Đề bài
Mô tả
Có đối thủ được đánh số từ đến , đối thủ thứ giữ viên kẹo.
Một người chơi xuất phát với viên kẹo, chọn một hoán vị của rồi lần lượt thi đấu với các đối thủ theo thứ tự . Ở lượt thứ :
- Nếu số kẹo người chơi đang có lớn hơn hoặc bằng thì người chơi thắng và được thưởng thêm viên kẹo, viên kẹo này dùng được ngay từ lượt kế tiếp.
- Ngược lại người chơi thua lượt đó và không nhận được gì.
Gọi là số hoán vị giúp người chơi thắng cả lượt khi xuất phát với viên kẹo.
Cho thêm một số nguyên tố thoả mãn . Một số nguyên dương được gọi là tốt nếu không chia hết cho . Hãy tìm tất cả các số tốt.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và .
- Dòng thứ hai chứa số nguyên .
Dữ liệu ra
- Dòng đầu in ra số lượng số tốt.
- Dòng thứ hai in ra tất cả các số tốt theo thứ tự tăng dần, cách nhau bởi dấu cách. Nếu không có số tốt nào thì in ra một dòng trống.
Ràng buộc
- là số nguyên tố
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 2 3 4 5 |
1 3 |
Với không có hoán vị nào hợp lệ nên , mà chia hết cho nên các số này không tốt. Với chỉ có hoán vị hợp lệ, nên là số tốt. Với có , với có , đều chia hết cho . |
| 4 3 2 3 5 6 |
2 3 4 |
và đều không chia hết cho . |
| 4 3 9 1 1 1 |
0 |
Với mọi nguyên dương, đều chia hết cho , nên dòng thứ hai là dòng trống. |
Bình luận