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; }