[Buổi 9][Tìm kiếm nhị phân & tìm đáp án][HW] Bài 3: Năng suất ban đầu tối thiểu
Năng suất ban đầu tối thiểu
Bối cảnh và bài toán
Một quy trình bắt đầu với năng suất v đơn vị ở chu kỳ đầu. Sau mỗi chu kỳ, năng suất giảm xuống phần nguyên của việc chia cho k; quá trình dừng khi năng suất thành 0. Cần hoàn thành ít nhất n đơn vị công việc.
Yêu cầu
Tìm giá trị nguyên nhỏ nhất của v để tổng năng suất qua mọi chu kỳ đạt ít nhất n.
Input
- Một dòng chứa
n k.
Output
In v nhỏ nhất.
Ràng buộc
1 <= n <= 10^92 <= k <= 10
Chấm điểm
| Subtask | Điểm | Điều kiện | Official tests |
|---|---|---|---|
| S1 | 20% | n ≤ 10^5 | 01–04 |
| S2 | 30% | n ≤ 10^7 | 05–10 |
| S3 | 50% | Không có ràng buộc bổ sung | 11–20 |
Ví dụ 1
Input
7 2
Output
4
Giải thích. Với v=4, tổng là 4 + 2 + 1 = 7; v=3 chỉ cho 3+1=4.
Ví dụ 2
Input
59 9
Output
54
Giải thích. 54 + floor(54/9) = 54+6 = 60, còn các v nhỏ hơn 54 chưa đủ 59.
Thông tin bài tập
| Thuộc tính | Giá trị |
|---|---|
| Mã bài | DSA-M03-B09-HW03 |
| Buổi | B09 |
| Loại bài | HOMEWORK |
| Mức độ khó | Trung bình (Medium) |
| Thời gian làm bài khuyến nghị | 40 phút |
| Time limit | 2 giây |
| Memory limit | 256 MB |
| Tổng điểm | 100 |
| Chuẩn ngôn ngữ tham chiếu | C++11 trở lên |
Nguồn: Phỏng theo Codeforces 165B — Burning Midnight Oil.
Comments