Cod sursa(job #637700)

Utilizator mihai_floreaFlorea Mihai Alexandru mihai_florea Data 20 noiembrie 2011 16:00:27
Problema Zombie Scor 100
Compilator cpp Status done
Runda .com 2011 Marime 0.47 kb
#include <fstream>
using namespace std;

const int NMAX = 1000001;

long long dp[NMAX];
int D, N, K, t[NMAX];

int main()
{
	ifstream fin("zombie.in");
	fin>>D>>N>>K;
	
	for (int i = 1; i <= N; ++i)
		fin>>t[i];
		
	dp[0] = 0;
	dp[1] = 1;
	int left = 1;
	for (int i = 2; i <= N; ++i)
	{
		dp[i] = dp[i-1] + 1;
		while (t[i] - t[left] > D - 1)
			++left;
		dp[i] = min(dp[i], dp[left-1] + K);
	}
	
	ofstream fout("zombie.out");
	fout<<dp[N]<<"\n";
}