Cod sursa(job #638688)

Utilizator freak93Adrian Budau freak93 Data 21 noiembrie 2011 13:39:49
Problema Zombie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
	ifstream cin("zombie.in");
	ofstream cout("zombie.out");
	
	int D, N, K;
	cin >> D >> N >> K;
	
	vector<int> v(N);
	for (int i = 0; i < N; ++i)
		cin >> v[i];
	
	sort(v.begin(), v.end());
	
	int first_zombie = 0;
	int answer = 0;
	for (int i = 0; i < N; ++i) 
		while (first_zombie < N && v[first_zombie] + D <= v[i])
			if (i - first_zombie >= K) {
				first_zombie = i;
				answer += K;
			}
			else {
				++first_zombie;
				answer += 1;
			}
	
	if (N - first_zombie >= K)
		answer += K;
	else
		answer += N - first_zombie;

	cout << answer << "\n";
}