[Problem of 4th week] Hệ thống bóng đèn

View as PDF

Submit solution

Points: 1.00
Time limit: 1.0s
Memory limit: 64M
Input: stdin
Output: stdout

Author:
Problem type

Tuần 4: chuỗi hoạt động "Mỗi tuần một bài toán" của CLB lập trình H3.2 IUH.

Cho một dãy ~n~ bóng đèn mà mỗi bóng đều được nối với một bộ ~k~ công tắc, các bóng đèn đánh số từ ~1 \to n~ và các công tắc được đánh số từ ~1 \to k~. Trong đó công tắc thứ ~i~ sẽ có thể đổi trạng thái của ~a_i~ bóng liên tiếp tùy ý trong dãy, số ~a_i~ này được gọi là đặc số của công tắc. Ban đầu, tất cả bóng đèn đều tắt và thú vị là nếu chỉ sử dụng riêng một công tắc bất kỳ trong bộ, sau một hoặc nhiều thao tác thích hợp, ta đều có bật tất cả các bóng đèn. Cho biết rằng hệ thống được thiết kế linh hoạt nên các đặc số là đôi một khác nhau giữa các công tắc, và sẽ không có giá trị đặc số nào có tính chất thú vị như trên mà không có trong bộ công tắc.

Bây giờ, giả sử hệ thống công tắc đặc biệt ở trên được nối vào với ~m~ bóng đèn đang tắt. Hỏi cần thao tác ít nhất bao nhiêu lần (cho phép bấm các công tắc khác nhau với số lần tùy ý) để có thể bật tất cả các bóng đèn lên?

Input

Một dòng duy nhất gồm số nguyên ~n, m~, trong đó ~2 \le n \le 10^{12}~ và ~1 \le m \le 10^5.~

Output

Kết quả của bài toán.

Sample input

4 10

Sample output

3

Giải thích: Ta có thể c/m rằng hệ thống chỉ có 3 công tắc với các đặc số là 1, 2, 4 (đặc số là 3 không thỏa mãn). Khi đó, ta có thể dùng công tắc đặc số là 4 để bật hết bóng đèn (1,2,3,4) và (5,6,7,8) của dãy 10 bóng đèn, rồi dùng công tắc đặc số là 2 để bật hai bóng đèn (9,10) còn lại là được. Khi đó, sẽ tốn tất cả 3 lần thao tác.


Comments

Please read the guidelines before commenting.


There are no comments at the moment.