Cod sursa(job #635526)

Utilizator loginLogin Iustin Anca login Data 19 noiembrie 2011 12:50:56
Problema Zombie Scor 100
Compilator cpp Status done
Runda .com 2011 Marime 0.51 kb
# include <fstream>
# include <iostream>
# define DIM 1000003
# define max(a,b) (a<b?a:b)
using namespace std;
int d, n, v[DIM], sol, p[DIM];
long long k, b[DIM];

void read ()
{
	ifstream fin ("zombie.in");
	fin>>d>>n>>k;
	for(int i=1;i<=n;++i)
		fin>>v[i];
}

void solve ()
{
	p[1]=0;
	int q=0;
	for (int i=2;i<=n;++i)
	{
		while (v[i]-v[q+1]>=d)
			++q;
		p[i]=q;
	}
	for(int i=1;i<=n;++i)
		b[i]=min(1+b[i-1],k+b[p[i]]);
}

int main ()
{
	read ();
	solve ();
	ofstream fout ("zombie.out");
	fout<<b[n];
	return 0;
}