priority_queue<int> q; int total = 0; // 优先队列中所有课程的总时间
for (constauto& course: courses) { int ti = course[0], di = course[1]; if (total + ti <= di) { total += ti; q.push(ti); } elseif (!q.empty() && q.top() > ti) { total -= q.top() - ti; q.pop(); q.push(ti); } }