The problem: INPUT: say that we have M tasks that we MUST execute, for each task i you can execute it from Xi to Yi (an interval of hours)
and you must execute each task for a minimum of X hours and X <=(Yi-Xi+1)
for each cpu, it can't execute two tasks in the same time.
output: give me the minimum number of cpus neeeded an the tasks used by each cpu.
(I got a solution for M<22 and number of hours and X is small like binary search on number of cpus and dp bitmask to check if there is a solution)
complexity is high! how we can do better? for bigger M
feel free to say every idea that you have for any constraint.