Gương kỳ diệu với truy vấn
Có chiếc gương đánh số từ đến . Mỗi ngày, một người sẽ hỏi đúng một chiếc gương "Mình có đẹp không?". Gương thứ sẽ trả lời "đẹp" với xác suất .
Một số gương được đánh dấu là điểm chốt (checkpoint). Ban đầu chỉ có gương là điểm chốt, và gương luôn là điểm chốt.
Người này hỏi các gương theo thứ tự bắt đầu từ gương . Mỗi ngày, khi hỏi gương :
- Nếu gương trả lời "đẹp": nếu thì kết thúc; ngược lại ngày hôm sau sẽ hỏi gương .
- Nếu gương trả lời "không": ngày hôm sau sẽ bắt đầu lại từ điểm chốt có chỉ số lớn nhất không vượt quá .
Có truy vấn, mỗi truy vấn cho một số nguyên : nếu gương hiện chưa phải điểm chốt thì đánh dấu nó là điểm chốt; ngược lại bỏ đánh dấu.
Sau mỗi truy vấn, hãy in ra số ngày kỳ vọng cho đến khi quá trình kết thúc.
Vì kết quả là một số hữu tỉ, hãy in ra theo modulo . Nếu kết quả viết được dưới dạng phân số tối giản với , hãy in ra số nguyên thỏa và .
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và .
- Dòng thứ hai chứa số nguyên .
- Mỗi dòng trong dòng tiếp theo chứa một số nguyên — truy vấn tương ứng.
Dữ liệu ra
Gồm dòng, mỗi dòng là đáp án của một truy vấn theo modulo .
Ràng buộc
- .
- .
- (gương luôn là điểm chốt, không thể bị bỏ đánh dấu).
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 2 50 50 2 2 |
4 6 |
Sau truy vấn 1: điểm chốt là . Mỗi gương có xác suất "đẹp" là , kỳ vọng để vượt qua một gương là ngày, tổng là . Sau truy vấn 2: điểm chốt chỉ còn , kỳ vọng để vượt qua gương (khởi động lại từ gương khi thất bại) là . |
| 5 5 10 20 30 40 50 2 3 4 5 3 |
117 665496274 332748143 831870317 499122211 |
Mỗi truy vấn lần lượt thay đổi tập điểm chốt; các đáp án sau đó được lấy theo modulo . |
Bình luận