Cod sursa(job #639213)

Utilizator Catah15Catalin Haidau Catah15 Data 22 noiembrie 2011 20:00:49
Problema Zombie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>
#include <iostream>

using namespace std;

#define maxN 1000005

int A[maxN], D, sol, S;


int main()
{
	ifstream f("zombie.in");
	ofstream g("zombie.out");
	
	int N, K, aux;
	
	f >> D >> N >> K;

	for (int i = 1; i <= N; ++ i) f >> A[i];
	
	for (int i = 1; i < N; ++ i)
	{
		S += A[i + 1] - A[i];
		
		if (S < D)
		{
			aux = i;
			
			for ( ; S < D && i < N;)
			{
				++ i;
				S += A[i + 1] - A[i];
			}
			
			S = 0;
			-- i;
			
			if (i - aux + 1 > K) sol += K;
			else sol += i - aux + 1;
		}
		else
		{
			S = 0;
			sol ++;
		}
	}
	
	g << sol;
	
	return 0;
}