Problem:
MathJax.Hub.Config({ tex2jax: { inlineMath: [["$","$"], ["\\(","\\)"]], processEscapes: true }});

カエルはまっすぐ帰る

一匹のカエルが巣穴に帰ろうとしています。巣穴はカエルの D センチメートル前方にあって、カエルは巣穴に向かってまっすぐ進みます。カエルができる行動は、以下の２つだけです。

大ジャンプ（L センチメートル前方に進む）

小ジャンプ（１センチメートル前方に進む）

カエルは巣穴を跳び越すことなく、ちょうど巣穴に着地することをねらっています。

カエルが巣穴に帰るために、最低何回跳ぶ必要があるかを求めるプログラムを作成せよ。

Input

入力は以下の形式で与えられる。

D L

入力は１行であり、巣穴までの距離 D (1 ≤ D ≤ 10000) と大ジャンプでカエルが進む距離 L (2 ≤ L ≤ 10000) が与えられる。

Output

カエルが最低何回跳ぶ必要があるかを、１行に出力する。

Sample Input 1

10 5

Sample Output 1

2

Sample Input 2

7 4

Sample Output 2

4

Solution in C# (judge verdict: Accepted)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace _0317
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] dl = RArInt();
            Console.WriteLine(dl[0] / dl[1] + dl[0] % dl[1]);
        }
        static string RSt() { return Console.ReadLine(); }
        static int RInt() { return int.Parse(Console.ReadLine().Trim()); }
        static long RLong() { return long.Parse(Console.ReadLine().Trim()); }
        static double RDouble() { return double.Parse(Console.ReadLine()); }
        static string[] RArSt(char sep = ' ') { return Console.ReadLine().Trim().Split(sep); }
        static int[] RArInt(char sep = ' ') { return Array.ConvertAll(Console.ReadLine().Trim().Split(sep), e => int.Parse(e)); }
        static long[] RArLong(char sep = ' ') { return Array.ConvertAll(Console.ReadLine().Trim().Split(sep), e => long.Parse(e)); }
        static double[] RArDouble(char sep = ' ') { return Array.ConvertAll(Console.ReadLine().Trim().Split(sep), e => double.Parse(e)); }
        static string WAr<T>(IEnumerable<T> array, string sep = " ") { return string.Join(sep, array.Select(x => x.ToString()).ToArray()); }
    }
}