描述
我们要模拟一个消息发送系统。想象你有一堆消息和一些用户。
每条消息都有发送的时间和内容。
每个用户都有他开始和结束接收消息的时间。
当消息发送时:
如果此时有用户正在接收,消息会发给优先级最高的用户(用户列表按优先级排序)。
如果此时没有用户接收,消息就被忽略。
特别注意:
如果用户订阅和消息发送是同时发生的,先处理用户的订阅。
如果用户取消订阅和消息发送是同时发生的,用户不会收到该消息。
输入格式:
第一行:一系列数字,两两一对,分别代表消息的发送时间和内容。
第二行:一系列数字,两两一对,分别表示用户的开始和结束订阅时间。
输出格式:
输出有几行,每行代表一个用户收到的消息内容。如果用户没收到消息,输出“-1”。
输入
2 22 1 11 4 44 5 55 3 33
1 7 2 3
输出
11 33 44 55
22
说明
消息11在1时刻到达,此时只有第一个消费者订阅,消息发送给它;
消息22在2时刻到达,此时两个消费者都订阅了,消息发送给优先级最高的第二个消费者;
消息33在时刻3到达,此时只有第一个消费者订阅,消息发送给它;
余下的消息按规则也是发送给第一个消费者。
输入
5 64 11 64 9 97
9 11 4 9
输出
97
64
代码
<