Ếch trong giếng
Đề bài
Mô tả
Một con ếch đang ở đáy của một cái giếng sâu mét. Mặt nước nằm ở mặt đất, tức ở độ sâu . Ếch ở độ sâu và muốn lên đến độ sâu .
Bề mặt thành giếng không đồng đều: nếu ếch đang ở độ sâu thì với một cú nhảy nó có thể đi lên một khoảng nguyên bất kỳ từ đến mét (ếch không thể nhảy xuống).
Sau mỗi cú nhảy (kể cả cú nhảy dài mét), ếch phải dừng lại nghỉ. Nếu sau khi nhảy ếch đến độ sâu thì trong lúc nghỉ nó sẽ bị trượt thêm đúng mét xuống dưới. Nếu sau khi nhảy ếch đến độ sâu (mặt đất) thì nó đã thoát ra và không cần nghỉ nữa.
Hãy tính số cú nhảy ít nhất để ếch lên đến mặt đất, và in ra dãy độ sâu nó đạt được ngay sau mỗi cú nhảy (trước khi trượt). Nếu không thể, in .
Dữ liệu vào
- Dòng 1: số nguyên — độ sâu giếng.
- Dòng 2: số nguyên — quãng nhảy tối đa khi ở mỗi độ sâu.
- Dòng 3: số nguyên — quãng trượt khi nghỉ ở mỗi độ sâu.
Dữ liệu ra
Nếu ếch không thể lên đến mặt đất, in .
Ngược lại, in một số nguyên — số cú nhảy ít nhất, và một dòng nữa chứa số nguyên trong đó là độ sâu ếch đạt được ngay sau cú nhảy thứ (trước khi bị trượt). Phải có . Nếu có nhiều đáp án, in ra một đáp án bất kỳ.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 0 2 2 1 1 0 |
2 1 0 |
Ếch ở độ sâu , nhảy lên độ sâu , trượt xuống độ sâu , sau đó nhảy lên độ sâu . |
| 2 1 1 1 0 |
-1 | Từ độ sâu chỉ có thể nhảy đến , trượt lại xuống , không bao giờ thoát. |
| 10 0 1 2 3 5 5 6 7 8 5 9 8 7 1 5 4 3 2 0 0 |
3 9 4 0 |
Dãy nhảy: (trượt còn ), (trượt còn ), . |
Bình luận