Cod sursa(job #635664)

Utilizator paul_gabryelPaul Buda paul_gabryel Data 19 noiembrie 2011 13:58:54
Problema Zombie Scor 0
Compilator cpp Status done
Runda .com 2011 Marime 0.51 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];
		a[i]+=a[i-1];
		int j=lower_bound(a+1,a+i+1,a[i]-d)-a;
		b[i]=j-1;
	}
}

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

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

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