JOI 2008 - Fraction

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1400 (p) Thời gian: 0.5s Bộ nhớ: 64M Input: bàn phím Output: màn hình

Chủ tịch M của JOI mỗi ngày đều cầu nguyện trước ảnh kim tự tháp, mong các thí sinh Nhật Bản đạt thành tích tốt tại IOI 2008. Một đêm, tượng Nhân sư xuất hiện trong giấc mơ và hứa thực hiện điều ước nếu được dâng một thỏi vàng có khối lượng thích hợp.

Khối lượng thỏi vàng phải dương và nhỏ hơn \(1\) kg. Khi viết theo đơn vị kg, nó phải bằng phân số nhỏ thứ \(k\) trong tập các giá trị phân số dương nhỏ hơn \(1\) có mẫu số không quá \(M\). Các phân số bằng nhau chỉ được tính một lần. Thỏi vàng nhẹ hơn hoặc nặng hơn đều không được chấp nhận.

Hãy tìm phân số đó, hoặc xác định rằng nó không tồn tại.

Dữ liệu vào

Đọc từ đầu vào chuẩn gồm một dòng chứa hai số nguyên dương \(M,k\), với \(M \le 30000\), \(k \le 200000\).

Dữ liệu ra

Ghi ra đầu ra chuẩn một dòng. Nếu tồn tại phân số cần tìm, ghi tử số và mẫu số của dạng tối giản, cách nhau bởi dấu cách. Nếu không tồn tại, ghi \(-1\).

Chấm điểm

Giới hạn thời gian: \(0.5\) giây mỗi bộ dữ liệu. Giới hạn bộ nhớ: \(64\) MB.

\(5\) nhóm dữ liệu, mỗi nhóm \(20\) điểm; tổng cộng \(100\) điểm. Chỉ nhận điểm của một nhóm nếu chương trình trả lời đúng tất cả các bộ dữ liệu trong nhóm đó.

Nhóm Các bộ dữ liệu Điểm
1 01, 02, 03 20
2 04, 05 20
3 06, 07, 08 20
4 09, 10 20
5 11, 12 20

Ví dụ

Ví dụ 1

Input
6 8
Output
2 3
Giải thích

Với \(M=6\), các giá trị phân số theo thứ tự tăng dần là \(\frac16,\frac15,\frac14,\frac13,\frac25,\frac12,\frac35,\frac23,\frac34,\frac45,\frac56\). Có \(11\) giá trị; giá trị thứ tám là \(\frac23\).

Ví dụ 2

Input
6 12
Output
-1
Giải thích

Với \(M=6\), có \(11\) giá trị phân số khác nhau, nên giá trị thứ mười hai không tồn tại.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: