Trạm nghỉ trên đường
Đề bài
Mô tả
Quãng đường từ thành phố A đến thành phố B dài km và được xem như một đoạn thẳng: A nằm ở toạ độ , B nằm ở toạ độ .
Việc đi liên tục khiến người đi mỗi lúc một mệt hơn. Cụ thể, nếu tính từ lần nghỉ gần nhất người đó đã đi được km, thì độ mệt của km thứ là . Dãy không giảm: . Độ mệt của cả hành trình là tổng độ mệt của từng km.
Tại mỗi điểm nguyên có thể có hoặc không có một trạm nghỉ. Khi đi tới một trạm nghỉ, người đó dừng lại nghỉ, và bộ đếm được đặt lại từ đầu: km ngay sau đó có độ mệt , km kế tiếp có độ mệt , và cứ thế.
Chẳng hạn với và có đúng một trạm nghỉ ở toạ độ , độ mệt của hành trình là : km thứ nhất tốn , km thứ hai tốn , sau đó người đi nghỉ, nên km thứ ba tốn , km thứ tư tốn và km cuối tốn . Một ví dụ khác: với và các trạm nghỉ ở toạ độ và , độ mệt là .
Người đi không biết trước những điểm nào có trạm nghỉ, nên phải xét mọi khả năng. Có tất cả cách bố trí trạm nghỉ khác nhau (hai cách là khác nhau nếu tồn tại một điểm có trạm nghỉ trong cách này nhưng không có trong cách kia), và tất cả đều đồng khả năng. Gọi là kỳ vọng độ mệt của hành trình.
Có thể chứng minh luôn là một số nguyên. Hãy tính giá trị đó theo modulo .
Dữ liệu vào
- Dòng đầu chứa số nguyên là độ dài quãng đường.
- Dòng thứ hai chứa số nguyên , trong đó là độ mệt của km thứ tính từ lần nghỉ gần nhất.
Dữ liệu ra
In ra một số nguyên duy nhất là lấy theo modulo .
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 1 2 |
5 | Có cách bố trí. Không có trạm nghỉ nào: độ mệt . Có trạm nghỉ ở toạ độ : độ mệt . Tổng bằng , nên và . |
| 4 1 3 3 7 |
60 | Tổng độ mệt trên cả cách bố trí bằng . |
| 1 12 |
12 | Với chỉ có đúng một cách bố trí (không có điểm nguyên nào nằm trong khoảng), và độ mệt luôn là . |
Bình luận