#P15452. [JOI 2026 SemiFinal] 宝石商 / Jeweler

[JOI 2026 SemiFinal] 宝石商 / Jeweler

说明

JOI 君经营着一家宝石店。有 NN 位顾客想要购买宝石,这些顾客被编号为 11NN。顾客 ii (1iN1 \le i \le N) 可以在时刻 LiL_i 到时刻 RiR_i 之间的任意时刻到访店铺,并打算购买 CiC_i 个宝石。

JOI 君很忙,无法一直开店。因此,他考虑了 MM 个开店时间的方案。方案被编号为 11MM,方案 jj (1jM1 \le j \le M) 是指在时刻 Sj0.1S_j - 0.1 到时刻 Tj+0.1T_j + 0.1 之间开店。对于每个方案,顾客 ii (1iN1 \le i \le N) 如果在其可到访的时间段内存在店铺开门的时刻,则会到访店铺并购买 CiC_i 个宝石。反之,如果不存在这样的时刻,顾客 ii 则不会到访,也不会购买宝石。但是,JOI 君的店铺里有充足的宝石,不会出现售罄的情况。

给定 JOI 君店铺的顾客信息以及开店时间的各个方案,请编写一个程序,针对每个方案求出总共能卖出多少个宝石。

输入格式

输入从标准输入中以以下格式给出:

NN
L1 R1 C1L_1\ R_1\ C_1
L2 R2 C2L_2\ R_2\ C_2
\vdots
LN RN CNL_N\ R_N\ C_N
MM
S1 T1S_1\ T_1
S2 T2S_2\ T_2
\vdots
SM TMS_M\ T_M

输出格式

向标准输出输出 MM 行。第 jj 行 (1jM1 \le j \le M) 输出方案 jj 中总共能卖出的宝石个数。

3
3 4 10
5 8 20
6 10 30
3
4 6
1 2
6 8
60
0
50
4
10 90 1
40 60 2
10 20 4
80 90 8
3
1 15
1 60
1 100

5
7
15
10
55 882 861052753
104 734 331227764
492 694 240198464
481 506 377367203
131 185 327968773
124 129 970226535
92 125 133053911
356 442 758055457
21 759 730522637
259 481 948997757
9
50 287
510 735
158 431
113 768
328 894
783 881
163 692
42 862
43 752
4303050130
2163001618
3957825141
5678671254
4247422035
861052753
4575390808
5678671254
5678671254

提示

样例解释 1

方案 1 中,从时刻 3.93.9 到时刻 6.16.1 开店。顾客 1 可在时刻 44,顾客 2 可在时刻 55,顾客 3 可在时刻 66 到店铺购买宝石,总共卖出 10+20+30=6010 + 20 + 30 = 60 个宝石。

方案 2 中,从时刻 0.90.9 到时刻 2.12.1 开店。任何顾客都无法在开店时刻到访,因此总共卖出 00 个宝石。

方案 3 中,从时刻 5.95.9 到时刻 8.18.1 开店。顾客 2 和顾客 3 均可在时刻 77 到店铺购买宝石,总共卖出 20+30=5020 + 30 = 50 个宝石。

该输入样例满足子任务 1、5 的数据范围。

样例解释 2

方案 1 中,顾客 1 和顾客 3 可以到店铺购买宝石,总共卖出 1+4=51 + 4 = 5 个宝石。

方案 2 中,顾客 1、顾客 2、顾客 3 可以到店铺购买宝石,总共卖出 1+2+4=71 + 2 + 4 = 7 个宝石。

方案 3 中,所有顾客都可以到店铺购买宝石,总共卖出 1+2+4+8=151 + 2 + 4 + 8 = 15 个宝石。

该输入样例满足子任务 1、3、4、5 的数据范围。

数据范围

  • 1N3000001 \le N \le 300\,000
  • 1Li<Ri10000001 \le L_i < R_i \le 1\,000\,000 (1iN1 \le i \le N)
  • 1Ci1091 \le C_i \le 10^9 (1iN1 \le i \le N)
  • 1M3000001 \le M \le 300\,000
  • 1SjTj10000001 \le S_j \le T_j \le 1\,000\,000 (1jM1 \le j \le M)
  • 输入的所有值均为整数。

子任务

  1. (12 分) N1000, M1000N \le 1000,\ M \le 1000
  2. (17 分) Sj=TjS_j = T_j (1jM1 \le j \le M)
  3. (21 分) Sj=1S_j = 1 (1jM1 \le j \le M)
  4. (23 分) SjSj+1, TjTj+1S_j \le S_{j+1},\ T_j \le T_{j+1} (1j<M1 \le j < M)
  5. (27 分) 无额外限制。

翻译由 DeepSeek 完成