A very simple solution is to run three processes in parallel, one process does the first 100 jobs, the second the second 100 jobs, the last the rest of the jobs. It may not be the solution that reaches the fasted time for all jobs to be finished (but that requires solving an NP complete problem anyway - even after knowing in advance how long each job is going to take), but if all jobs take about the same time, the solution may be good enough.