Dotcpp  >  编程题库  >  梦之歌
题目 2633:

梦之歌

时间限制: 4s 内存限制: 320MB 提交: 8 解决: 0

题目描述

在刚刚,你以最快的速度到达了梦之国。

在城墙外,就能看见在城里充满的金光。

但是门口却挤满了人,甚至令你不敢呼吸(Covid - 19

原来进入梦之国是有要求的,你需要给守卫唱歌。

且必须由一本音乐图谱中选择歌词。


在音乐图谱中,有 n 句歌词,分别编号为 1 ~ n , 在梦之歌中,还有许多要求。

就如,在第 i 句歌词中你需要 t秒来完成歌唱,并能给守卫带来 hi 点的愉悦值。且歌词的韵调只能使用 si 次(即歌词在一首歌中能使用 si 次)。

接下来,你就可以来给守卫们唱歌。在城门边,有 m 个守卫编号为 1 ~ m 需要听歌,他们每个人都有各自的要求。

第 j 个守卫有 stj 秒时间听你唱歌且需要听 shi 句歌词才会给你放行。

输入格式

共 n + m + 1 行

第一行:两个整数 n, m 。

接下来 n 行:每行3个整数,分别为 ti, hi, si

接下来 m 行:每行2个整数,分别为 stj, shj

含义同上文。

输出格式

共 m 行

每行一个整数:表示每个守卫能获得的愉悦值,如果无法满足守卫的要求输出-1

样例输入

3 4
1 3 5 
2 1 3
3 2 5
6 3
5 3
10 10
20 10

样例输出

3
2
-1
1

提示

数据范围

对于所有的测试数据,保证 n, m ≤ 105,1 ≤ ti, hi, si ≤ 105,1 ≤ stj, shj ≤ 1018

对于50%的数据:满足 n, m ≤ 5000

对于100%的数据:没有特殊要求。

标签