****会议安排****
问题描述
有 nn 个会议需要使用学校的会议室,第 ii 个会议的长度为 cici ,最晚在 titi 时刻结束。会议室某一时间点只能供一场会议使用,并且一场会议只可以选择取消或者完整的开完。求最多可以安排多少个会议。
输入格式
第一行包含一个整数 nn 。 接下来 nn 行每行包含两个整数 ti,citi,ci 。
输出格式
输出一个整数,表示最多可以安排的会议数量。
样例输入
5
4 3
3 2
5 3
2 1
6 1
样例输出
3
数据规模和约定
对于 30%30% 的数据, n≤100n≤100 ;
对于 100%100% 的数据, n≤105,ti≤109,ci≤109n≤105,ti≤109,ci≤109 。
正解:贪心
直接贪心肯定是错的啦
先以会议结束时间排个序
用堆来优化
记录t时间内的最优情况,并比较后一个会议是否可以放置
如果放在前面可以更优
就替换掉前面的会议,次数不变,但时间减少
这样即最优
#include<iostream>
#include<algorithm>
#include<cstdio>