小塔店主发现商品的出纳账单遭到了毁坏,为了恢复,他翻阅了近期的监控和商品出售记录,得到了每一个人到店的日期和在哪一个位置取过物品(但是由于监控模糊,只能大致确定区间)。
每一个商品都有剩余保质期,每过一天剩余保质期都应该减一,当保质期为非负数时,都会被人购买;当保质期为负数时,就没有人再会买了;
保质期先于人员到店刷新。
假设第i个客人在dayi天来商店购物,且在[l,r]这个货架区间取过物品,那么他会挑选靠左的保质期最长的那个商品走。
请你帮助计算每一个人买走的商品编号。
第一行输入两个整数n和m(1≤n,m≤105)代表来小塔商店购物的人数和商品数量。
第二行输入m个整数a1,a2,...,am(1≤ai≤109)代表商品的保质期。
此后n行,第i行输入三个整数dayi,li和ri(1≤dayi≤105;1≤li≤ri≤m)代表第i个人的到店时间、
取货区间。
如果有多个人在同一天到店,那么先输入的人早于后输入的人到店。
输出一行,包含n个整数,代表每一个人买走的商品编号,如果这个人的取货区间里没有满足条件的商品,输出−1替代。
输入
4 5
1 2 3 4 7
1 1 4
1 4 4
5 1 4
5 1 5
输出
4 -1 -1 5
说明
输入
3 5
2 2 2 2 2
1 1 5
2 1 5
3 1 5
输出
1 2 -1
扫码备注加群即可,期待您的到来~
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.