题目描述
小忍开了一家杂货店,里面有 $k$ 种不同样式的商品。
假设其编号分别为 $1,2,3,\cdots,k$,并且每种商品的数量依次为 $a_1,a_2,a_3,\cdots,a_k$。
有一天,小忍接到了一堆订单,每份订单都想要一个区间内的所有种类的商品,并且都标有交易时间。
例如,第 $i$ 份清单在第 $t$ 时刻进行,想要编号在 $[L_i,R_i]$ 内的所有商品,并且每份商品都要 $b_i$ 个。
老实的小忍选择按时间逐一处理订单,每次交易完就会消耗订单中的商品。
如果商品不够无法交易,那么小忍就会停止交易,此时不论还有没有订单剩余,小忍都觉得自己已经处理完了订单,现在小忍想要知道她处理完订单的时刻。
输入格式
第一行包含两个整数 $n\ (1\le n\le 10^5)$,$k\ (1\le k\le 10^5)$,分别表示订单数目和商品种类。
接下来 $n$ 行,每行 $4$ 个整数 $t,l,r,v\ (1\le t\le 10^9,\ 1\le l\le r\le k,\ 1\le v\le 10^5)$,分别表示第 $i$ 份订单的时间,选择商品的范围和数量。
最后一行包含 $k$ 个整数 $a_1,a_2,a_3,\cdots,a_k\ (1\le a_i\le 10^9)$,第 $i$ 个整数 $a_i$ 表示第 $i$ 件商品的数量。
输入保证订单时间互不相同。
输出格式
输出一个整数,表示处理完订单的时刻。
如果一份都无法处理,输出 $-1$。
对于 $i\in [1,n)$,如果第 $i+1$ 份订单无法处理,那么输出第 $i$ 份订单的时间。
样例输入 #1
3 3
13 1 3 5
22 1 1 2
300 3 3 10
100 50 150