#P1932. 2024.8.24-MT-第3题-塔塔商店

2024.8.24-MT-第3题-塔塔商店

题目内容

塔塔商店里只卖两种商品,“塔可乐“和“塔马克”。

现在有nn个人来到商店购物,第ii个人有一个喜好区间[li,ri][l_i,r_i]和购买目标商品,他只看货架上位于区间里的商品,并从中挑选kik_i个保质期最长的塔可乐或者塔马克买走(如果有多个商品保质期相同,他会拿走区间中靠前的那个)。你能告诉塔塔每个人买走的商品编号吗。

输入描述

第一行输入两个整数nnm(1n,m105)m(1≤n,m≤10^5)代表来塔塔商店购物的人数和商品数量。

第二行输入mm个整数a1,a2,...,am(1ai109)a_1, a_2,...,a_m(1≤a_i≤10^9)代表商品的保质期。

第三行输入mm个整数b1,b2,...,bm(0bi1)b_1,b_2,...,b_m(0≤b_i≤1)代表商品的种类,其中,bi=0b_i=0代表"塔可乐"、bi=1b_i=1代表"塔马克''。

此后nn行,第ii行输入四个整数li,ri,til_i,r_i,t_i;和k(1lirim;0ti1;1kim)k(1≤l_i≤r_i≤m;0≤t_i≤1;1≤k_i≤m)代表第ii个人的喜好区间、购买商品和购买件数。其中,tit_i=0代表他想要购买“塔可乐”、ti=1t_i=1代表他想要购买“塔马克”。

输出描述

输出nn行,第ii行包含至多kik_i个整数,代表第ii个人购买的商品编号(如果有多个商品保质期相同,输出编号较小的那个),你需要按照从小到大的顺序依次输出;如果没有买到足够的商品,使用一个1-1替代。

输入

5 5
2 3 4 5 6
1 1 0 1 1
1 3 1 2
1 3 1 2
1 3 0 5
1 5 1 1
1 5 0 1

输出

2 1
-1
3 -1
5
-1

说明

●第一次询问,货架上的情况为2,3,,5,6{2,3,*,5,6} (*代表非目标商品,下划线代表喜好区间),先买第二件,再买第一件;

●第二次询问,货架上的情况为{x,x,*,55,66}(x代表已售罄商品),此时无法购买,直接输出1-1;

●第三次询问,货架上的情况为{,,4,5,6*,*,4,5,6}由于只剩一件商品,故先购买第三件,后输出1-1代表没有买到足够数量的商品。