Given k machines, and use that to build m packages in the specified order, all k machines can build in parallel.
The constraint is - when one machine is switched to build another different package, it need cleanup the environment;
try to see the MIMINUM cleanup to finish the build tasks;
Example - 'ABCDABA', 3
when building at 4th package 'D', it will clean up one machine to build that;
if it cleans up 'C', then only 1 clean in total; if cleaning up 'B',
then 1 addtional cleanup on 6th - 'B', the total is 2;