B. 选择 (choose)

    Type: Default File IO: choose 500ms 256MiB

选择 (choose)

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

小 Y 是一个即将彻底退役的算法竞赛选手了。回首过去的几年,出题一直是小 Y 算法竞赛生涯中充满着回忆的部分。为了保存这段美好的回忆,小 Y 决定从他之前出过的题中选出一些具有代表性的问题,组成一场新的比赛:小 Y 挑战赛!

小 Y 总共出过 nn 个问题,每个问题都可以用两个参数来描述:难度 did_i 和有趣程度 fif_i

小 Y 将从中挑选一些问题组成小 Y 挑战赛。为了使比赛更加完美,小 Y 希望所选问题能够满足:

  • 难度之和 [LR]\in [L,R]

  • 最大化有趣程度之和。

你能帮小 Y 选择组成比赛的题目吗?

由于小 Y 尚未确定最终 LLRR 的具体情况,他将询问 qq(LiRi)(L_i,R_i) 的答案,请计算每个查询的最佳结果。

输入格式

choose.in 文件读入数据。

第一行包含两个整数 nqn,q,表示题目数和查询数。

接下来 nn 行,第 ii 行包含两个整数 difid_i,f_i ,表示第 ii 道题的难度和有趣程度。

接下来 qq 行,每行包含两个整数 LiRiL_i,R_i,表示一个查询。

输出格式

输出到 choose.out 文件。

输出 qq 行,第ii行包含一个整数,表示第 ii 个询问对应的可能的最大有趣程度之和。如果无解输出-1

样例 1

Sample Input 1

3 3
10 17
20 4
30 7
1 30
41 52
23 25

Sample Output 1

21
11
-1

对于第一个查询,可以选择第一个问题和第二个问题,它们的难度之和=10+20=30[1,30]=10+20=30\in[1,30],它们的有趣程度之和=17+4=21=17+4=21

对于第二个查询,可以选择第二个问题和第三个问题。

对于第三个查询,无法选择满足所有要求的问题。

样例 2

点击链接 ex_choose2.inex_choose2.out 下载大样例 2 的输入数据和输出数据。

数据范围

对于每个测试点, 保证 1n5000,1q105,1di104,1fi105,1LiRi1041\le n\le 5000, 1\le q\le 10^5, 1\le d_i\le 10^4, 1\le f_i\le 10^5, 1\le L_i\le R_i\le 10^4

子任务 分数 附加约束条件
11 1010 n=1n=1
22 1515 fi=1f_i=1
33 2020 di10d_i\le 10
44 2525 Li=1L_i=1
55 3030 无附加限制

NOIP2测

Not Attended
Status
Done
Rule
OI
Problem
4
Start at
2024-11-7 18:15
End at
2024-11-7 21:45
Duration
3.5 hour(s)
Host
Partic.
7