Chuyến du hành vũ trụ
Đề bài
Mô tả
Một nhà du hành chuẩn bị cho chuyến đi thăm hành tinh. Với hành tinh thứ , là số vali quà được phép mang xuống hành tinh đó, và là số cư dân của hành tinh.
Quà được đóng gói trong các vali, mỗi vali chứa đúng món quà (cùng một giá trị cho mọi vali). Nhà du hành mang lên tàu tổng cộng vali. Khi đến hành tinh thứ , ông mang xuống vali, tức là món quà.
Diễn biến trên mỗi hành tinh:
- Ngày đầu tiên: ông đi dạo, làm quen với cư dân, không tặng quà.
- Từ ngày thứ hai trở đi: mỗi ngày ông tặng cho mỗi người trong cư dân đúng một món quà (tức mỗi ngày phát đi món).
- Ông rời hành tinh vào buổi tối của ngày mà số quà còn lại ít hơn (không đủ để phát cho ngày hôm sau). Số quà thừa được để lại.
Như vậy số ngày ở hành tinh thứ là . Thời gian bay giữa các hành tinh coi như bằng .
Nhà du hành muốn chuyến đi kéo dài đúng ngày. Hãy đếm số cách chọn số nguyên dương để tổng thời gian của chuyến đi bằng đúng ngày. Nếu có vô số giá trị thỏa mãn, in ra .
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và — số hành tinh và số ngày mong muốn.
- dòng tiếp theo, dòng thứ chứa hai số nguyên và .
Dữ liệu ra
In ra một số nguyên — số cách chọn số nguyên dương để chuyến đi kéo dài đúng ngày, hoặc nếu có vô số giá trị thỏa mãn.
Ràng buộc
Lưu ý: các giá trị trung gian trong quá trình tính toán có thể rất lớn, vượt quá phạm vi số nguyên 64-bit.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 5 1 5 2 4 |
1 | Chỉ có . Hành tinh 1: mang vali gồm quà, ở ngày. Hành tinh 2: mang vali gồm quà, ở ngày. Tổng ngày. Với chuyến đi quá ngắn, với quá dài. |
| 1 1 0 5 |
-1 | nên không có quà nào được phát; số ngày luôn bằng với mọi . Do đó có vô số thỏa mãn. |
| 1 1000000000 1 1000000000 |
1000000000 | Số ngày là . Bằng khi , tức nằm trong một đoạn gồm giá trị. |
Bình luận