using System.Collections.Generic;
public static void Main()
int Calculate(string str)
const int processingTime = 1000;
var reader = new StringReader(str);
var header = reader.ReadLine().Split(' ');
var numberOfRequests = int.Parse(header[0]);
var concurrentRequestsPerServer = int.Parse(header[1]);
var cpuSlots = new List<int>{0};
for (int i = 0; i < numberOfRequests; i++)
var requestTime = int.Parse(reader.ReadLine());
var slotIndex = cpuSlots.FindIndex(s => requestTime >= s);
slotIndex = cpuSlots.Count - 1;
cpuSlots[slotIndex] = requestTime + processingTime;
var numberOfRequiredCpus = (int)Math.Ceiling((double)cpuSlots.Count / concurrentRequestsPerServer);
return numberOfRequiredCpus;
Console.WriteLine(Calculate(sample1));
Console.WriteLine(Calculate(sample2));