Cod sursa(job #635650)

Utilizator paul_gabryelPaul Buda paul_gabryel Data 19 noiembrie 2011 13:50:12
Problema Zombie Scor 0
Compilator cpp Status done
Runda .com 2011 Marime 0.55 kb

#include <cstdio>
#include <fstream>
#include <algorithm>

using namespace std;

#define N 1000001

int bst[N],a[N],b[N],n,k,d;

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

void solve ()
{
	for(int i=n;i>1;--i)
	{
		int j=i-1;
		for(int s=b[i];s<=d;--j)
			s+=b[j];
		a[i]=i-j;
	}
	bst[1]=1;
	for(int i=2;i<=n;++i)
		bst[i]=min(bst[i-1]+1,bst[i-a[i]]+k);
}

void out ()
{
	freopen ("zombie.out","w",stdout);
	printf("%d",bst[n]);
}

int main ()
{
	read ();
	solve ();
	out ();
	return 0;
}