Cod sursa(job #636969)

Utilizator worstbyteelev gigel worstbyte Data 20 noiembrie 2011 08:38:35
Problema Zombie Scor 100
Compilator cpp Status done
Runda .com 2011 Marime 0.57 kb
#include<fstream>

using namespace std;
ifstream in("zombie.in");
ofstream out("zombie.out");
int d,n,k,v[1000001],D[1000001],cost;

int main(){
	int i,lc,cnt;
	in>>d>>n>>k;
	if(k==1||k>=d){
		cost=n;
		goto finish;
	}
	in>>v[1];
	for(i=2;i<=n;++i){
		in>>v[i];
		D[i-1]=v[i]-v[i-1];
	}
	D[n]=d+1;
	lc=1;
	cnt=0;
	for(i=1;i<=n;++i)
		if(lc+D[i-1]<=d){
			cnt++;
			lc+=D[i-1];
		}
		else{
			if(cnt>=k)
				cost+=k;
			else
				cost+=cnt;
			cnt=1;
			lc=1;
		}
	if(cnt>=k)
		cost+=k;
	else
		cost+=cnt;
	finish:
	out<<cost;
	return 0;
}