Cod sursa(job #638043)

Utilizator andunhillMacarescu Sebastian andunhill Data 20 noiembrie 2011 18:20:23
Problema Zombie Scor 100
Compilator cpp Status done
Runda .com 2011 Marime 0.67 kb
#include<fstream>
using namespace std;

#define INF 2147483647

ifstream f("zombie.in");
ofstream g("zombie.out");

int D, N, K;
pair<int, int>inters[1000001];
int karma[1000001];

int main()
{	int i, j;

	f>>D>>N>>K;
	
	for(i = 1; i <= N; i++)
	{	f>>inters[i].first;
		inters[i].second = inters[i].first + D - 1;
		karma[i] = INF;
	}
	
	karma[0] = 0;
	
	for(i = j = 1; i <= N; i++)
	{	
		for(j; j <= N && inters[j].first <= inters[i].second; j++)
		{	karma[j] = min(karma[j] , karma[i - 1] + K);
		}
		karma[i] = min(karma[i - 1] + K, karma[i]);
		karma[i] = min(karma[i - 1] + 1, karma[i]);
		
	}
	
	g<<karma[N];
	f.close();
	g.close();
	return 0;
}