trang chủ / bài tập / spacevoy

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 n hành tinh. Với hành tinh thứ i, ai là số vali quà được phép mang xuống hành tinh đó, và bi 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 x món quà (cùng một giá trị x cho mọi vali). Nhà du hành mang lên tàu tổng cộng a1+a2++an vali. Khi đến hành tinh thứ i, ông mang xuống ai vali, tức là ai·x 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 bi cư dân đúng một món quà (tức mỗi ngày phát đi bi 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 bi (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ứ i1+ai·xbi. Thời gian bay giữa các hành tinh coi như bằng 0.

Nhà du hành muốn chuyến đi kéo dài đúng c ngày. Hãy đếm số cách chọn số nguyên dương x để tổng thời gian của chuyến đi bằng đúng c ngày. Nếu có vô số giá trị x thỏa mãn, in ra 1.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nc — số hành tinh và số ngày mong muốn.
  • n dòng tiếp theo, dòng thứ i chứa hai số nguyên aibi.

Dữ liệu ra

In ra một số nguyên — số cách chọn số nguyên dương x để chuyến đi kéo dài đúng c ngày, hoặc 1 nếu có vô số giá trị x thỏa mãn.

Ràng buộc

  • 1n104
  • 0ai109
  • 1bi109
  • 1c109

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ó x=5. Hành tinh 1: mang 1 vali gồm 5 quà, ở 1+5/5=2 ngày. Hành tinh 2: mang 2 vali gồm 10 quà, ở 1+10/4=3 ngày. Tổng 5 ngày. Với x4 chuyến đi quá ngắn, với x6 quá dài.
1 1
0 5
-1 a1=0 nên không có quà nào được phát; số ngày luôn bằng n=1=c với mọi x. Do đó có vô số x thỏa mãn.
1 1000000000
1 1000000000
1000000000 Số ngày là 1+x/109. Bằng 109 khi x/109=1091, tức x nằm trong một đoạn gồm 109 giá trị.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 GO groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0