Codeforces #50 A "Presents"

問題:http://codeforces.com/contest/54/problem/A

参加形式:本番

休日のたびにプレゼントをもらう人がいる.そして,少なくとも指定された日数以内にもまたプレゼントをもらってしまう.棚がいっぱいなので,多くのプレゼントをもらうことが出来ない.この人がプレゼントをもらう最低数を求める.

休日はすべてもらうことになる.よって休日数分は確実にもらうことになる.あとはそれぞれの休日の間の期間のうちに指定された日数毎にもらうことを考えて,期間を指定された日数で割った数を加えれば良い.

コード

import java.util.*;

public class A_Presents {
	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		int n = s.nextInt(), k = s.nextInt();
		int c = s.nextInt();
		int a = 0;
		int result = 0;
		for(int i = 0; i < c; ++i){
			int x = s.nextInt();
			int d = x - a;
			result += d / k + (d % k > 0 ? 1 : 0);
			a = x;
		}
		System.out.println(result + (n-a) / k);
	}
}