<p>You have a certain number of processors, each having 4 cores. The number of tasks to be executed is four times the number of processors. Each task must be assigned to a unique core, and each core can only be used once.</p>
<p>You are given an array <code>processorTime</code> representing the time each processor becomes available and an array <code>tasks</code> representing how long each task takes to complete. Return the <em>minimum</em> time needed to complete all tasks.</p>
<p>Assign the tasks at indices 4, 5, 6, 7 to the first processor which becomes available at <code>time = 8</code>, and the tasks at indices 0, 1, 2, 3 to the second processor which becomes available at <code>time = 10</code>. </p>
<p>The time taken by the first processor to finish the execution of all tasks is <code>max(8 + 8, 8 + 7, 8 + 4, 8 + 5) = 16</code>.</p>
<p>The time taken by the second processor to finish the execution of all tasks is <code>max(10 + 2, 10 + 2, 10 + 3, 10 + 1) = 13</code>.</p>