#P6073. [Noip十连测]Market

[Noip十连测]Market

题目描述

在比特镇一共有 nn 家商店,编号依次为 11nn。每家商店只会卖一种物品,其中第 ii 家商店的物品单价为 cic_i,价值为 viv_i,且该商店开张的时间为 tit_i

Byteasar 计划进行 mm 次购物,其中第 ii 次购物的时间为 TiT_i,预算为 MiM_i。每次购物的时候,Byteasar 会在每家商店购买最多一件物品,当然他也可以选择什么都不买。如果购物的时间早于商店开张的时间,那么显然他无法在这家商店进行购物。

现在 Byteasar 想知道,对于每个计划,他最多能购入总价值多少的物品。请写一个程序,帮助 Byteasar 合理安排购物计划。

注意:每次所花金额不得超过预算,预算也不一定要花完,同时预算不能留给其它计划使用。

输入格式

第一行包含两个正整数 n,mn,m,表示商店的总数和计划购物的次数。

接下来 nn 行,每行三个正整数 ci,vi,tic_i,v_i,t_i,分别表示每家商店的单价、价值以及开张时间。

接下来 mm 行,每行两个正整数 Ti,MiT_i,M_i,分别表示每个购物计划的时间和预算。

输出格式

输出 mm 行,每行一个整数,对于每个计划输出最大可能的价值和。

样例

5 2
5 5 4
1 3 1
3 4 3
6 2 2
4 3 2
3 8
5 9
10
12

第一个计划可以在商店 2,3,52,3,5 各购买一件物品,总花费为 1+3+4=81+3+4=8,总价值为 3+4+3=103+4+3=10

第二个计划可以在商店 1,2,31,2,3 各购买一件物品,总花费为 5+1+3=95+1+3=9,总价值为 5+3+4=125+3+4=12

数据范围

对于 100%100\% 的数据,1ti,Tin1\leqslant t_i,T_i\leqslant n

测试点编号 nn mm ci,Mic_i, M_i viv_i ti,Tit_i, T_i
11 =10=10 =5=5 10\le 10
22 =20=20 =10=10 100\le 100 20\le 20
33 =100=100 =1=1 =1=1
44 =200=200 200\le 200
55 =150=150 =105=10^5 150\le 150
66 =300=300 300\le 300 300\le 300 300\le 300
77 =20=20 109\le 10^9 20\le 20
88 =200=200 200\le 200
99 =300=300 300\le 300
1010