TopCoder SRM 477 Div 2 Easy VacationTime

問題概要

1日目からN日目のうち連続するK日に休暇を取る。ただし1-N日のうちいくつかには仕事が入っている。休暇を取るために必要な、仕事の休みの日数の最小値を求めよ。
K≦N≦1000である。

解法

NもKも小さいのでループでまわして全部みればおk.

ソースコード

	int bestSchedule(int N, int K, vector <int> workingDays) 
	{
		bool f[1001]={0}; fr(i,workingDays)f[*i]=1;
		
		int ans=K;
		for(int i=1;i<=N-K+1;i++)
		{
			int cnt=0;
			rep(j,K)if(f[i+j])cnt++;
			ans=min(ans,cnt);
		}
		return ans;
	}