请教怎么实现会议室分配时间最长

图片说明

每一行输入开始时间和结束时间
例如
9 10
10 12

java背包问题

https://blog.csdn.net/clinke/article/details/99324631

这个分配时间最长怎么衡量呢?还是只要按照约束安排时间就行?比如下面这组数据
10 15
8 12
12 16
第一个要求用时5小时,后俩都4小时,肯定安排后两个利用率高,但是按照约束条件应该先安排第一个。
还是说这个约束条件不应该这么理解么,反正如果是这个想法的话就按照约束条件给所有请求排序,然后从头到尾摘出来不重叠的。

struct request{
    int s,e;
}
bool operator<(request a, requet b){//判断a是否比b优先安排
    if(a.e-a.s != b.e-b.s)
        return a.e-a.s > b.e-b.s;
    else
        return a.s < b.s;
}