Cod sursa(job #637205)

Utilizator darrenRares Buhai darren Data 20 noiembrie 2011 13:00:27
Problema Zombie Scor 100
Compilator cpp Status done
Runda .com 2011 Marime 0.44 kb
#include <fstream>

using namespace std;

const int INF = 0x3f3f3f3f;

int D, N, K;
int A[1000002], V[1000002], limit;

int main()
{
	ifstream fin("zombie.in");
	ofstream fout("zombie.out");
	
	fin >> D >> N >> K;
	
	limit = 1;
	for (int i = 1; i <= N; ++i)
	{
		fin >> A[i];
		// 1
		V[i] = V[i - 1] + 1;
		//2
		while (A[limit] < A[i] - (D - 1))
			++limit;
		V[i] = min(V[i], V[limit - 1] + K);
	}

	fout << V[N];
	
	fin.close();
	fout.close();
}