{"code":"usaco20jansilvp2","name":"USACO 2020Jan Silver - Loan Payment","description":"Bác John nợ Bessie $N$ lít sữa $(1 \\leq N \\leq 10^{12})$, và phải trả cho Bessie trong $K$ ngày. Tuy nhiên, bác không muốn trả nợ sữa quá sớm. Dù vậy, bác vẫn phải thúc đẩy tiến độ trả nợ, nên bác John phải trả Bessie ít nhất $M$ lít sữa mỗi ngày $(1 \\leq M \\leq 10^{12})$.\r\n\r\nSau đây là cách bác John trả nợ Bessie. đầu tiên bác chọn ra một số nguyên dương $X$. Sau đó bác lặp lại quy trình sau hằng ngày:\r\n 1. Giả sử bác đã trả Bessie $G$ lít sữa, làm tròn xuống $\\dfrac{N-G}{X}$. Gọi số này là $Y$.\r\n 2. Nếu $Y < M$, đặt $Y = M$.\r\n 3. Trả cho Bessie $Y$ lít sữa.\r\n\r\nHãy xác định số $X$ lớn nhất sao cho nếu bác John thực hiện quy trình trên, bác sẽ trả Bessie ít nhất $N$ lít sữa sau $K$ ngày $(1 \\leq K \\leq 10^{12})$.\r\n\r\n#### Dữ liệu đầu vào\r\n- Một dòng duy nhất chứa ba số nguyên dương tách nhau bằng một dấu cách $N, K$ và $M$ thỏa mãn $K \\times M < N$.\r\n\r\n#### Định dạng đầu ra\r\n - Một dòng duy nhất in ra số $X$ lớn nhất sao cho bác John sẽ trả ít nhất $N$ lít sữa với quy trình trên.\r\n\r\n#### Điểm số\r\n - Test 2-4 thỏa mãn $K \\leq 10^5$\r\n - Test 5-11 không có điều kiện nào khác\r\n\r\n#### Ví dụ\r\n!!! question \"Ví dụ 1\"\r\n    ???+ \"Đầu vào\"\r\n        ```sample\r\n        10 3 3\r\n        ```\r\n    ???+ success \"Đầu ra\"\r\n        ```sample\r\n        2\r\n        ```\r\n    ??? warning \"Giải thích\"\r\n        Với ví dụ này, khi $X = 2$, bác John trả Bessie 5 lít sữa trỏng ngày đầu và $M=3$ lít trong vòng 2 ngày tiếp theo.\r\n        \r\n**Lưu ý:** nên sử dụng các kiểu dữ liệu số nguyên 64-bit (như `long long` trong C++)","points":1.0,"partial":false,"time_limit":1.0,"memory_limit":262144,"short_circuit":false,"allowed_languages":[3,4,34,36,37,5,6,11,12,14,28,2,38,39,9,18,17,29,23,27,35,25,26,10,7,19,32,1,8,15,16,24,20,33,13,41,21,40],"is_public":true,"is_manually_managed":false,"permissions":{"can_edit":false}}