HOP - Nhảy lò cò

View as PDF

Submit solution

Points: 100.00
Time limit: 1.0s
Memory limit: 1000M
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
C, C++, GAS64, Pascal, Perl, PHP, Python, Sed, TCL, Text

Nhảy lò cò là một trò chơi dân gian quen thuộc ở Việt Nam. Hằng năm, vào mỗi dịp Tết, Tí và các bạn lại chơi trò chơi này. Luật chơi trò chơi này rất đơn giản:

  • Có ~N+1~ ô vuông nằm liên tiếp nhau, các ô được đánh số từ ~0~ đến ~N~ từ trái qua phải. Ban đầu, người chơi sẽ ở đứng ở ô ~0~.
  • Ở mỗi bước, người chơi sẽ thực hiện thao tác nhảy bằng một chân từ ô hiện tại sang một ô nằm bên phải và có khoảng cách đến ô hiện tại không vượt quá ~K~ (khoảng cách giữa hai ô ~i~ và ~j~ là ~|i − j|~).
  • Mục tiêu của trò chơi là phải nhảy đến ô ~N~ với số bước nhảy càng thấp càng tốt.

Hãy cho Tí và các bạn biết cần thực hiện ít nhất bao nhiêu bước nhảy để hoàn thành trò chơi.

Dữ liệu
  • Gồm một dòng chứa hai số nguyên dương ~N,K (1≤K≤N≤10^{15})~.
Kết quả
  • In ra một số duy nhất là số bước nhảy ít nhất để hoàn thành trò chơi.
Ví dụ
Sample Input 1
15 7
Sample Output 1
3
Sample Input 2
100 1
Sample Output 2
100
Giải thích
  • Ở ví dụ thứ nhất, người chơi có thể nhảy lần lượt đến các ô: ~5,11,15~. Số bước nhảy là ~3~, và đây là số bước nhảy thấp nhất có thể.
  • Ở ví dụ thứ hai, ở mỗi bước, người chơi chỉ có thể nhảy sang ô kề bên phải nên cần thực hiện ~100~ bước nhảy để hoàn thành trò chơi.
Chấm điểm
  • Subtask 1 (40% số điểm): ~N ≤ 10^3~
  • Subtask 2 (30% số điểm): ~N ≤ 10^6~
  • Subtask 3 (30% số điểm): Không có ràng buộc gì thêm

Nguồn: Free Contest


Comments

Please read the guidelines before commenting.


There are no comments at the moment.