P14293 [JOI2024 预选赛 R2] 购物 2 / Shopping 2

题目描述

JOI 商店有 $N$ 件商品,每件商品被编号为从 $1$ 到 $N$。 每件商品都有一个**定价**和**种类**。商品 $i$($1 \le i \le N$)的定价为 $P_i$ 日元。商品的种类用 $1$ 到 $M$ 之间的整数表示,商品 $i$($1 \le i \le N$)的种类为 $A_i$。 JOI 商店决定举行一次促销活动。促销持续 $M$ 天,在第 $j$ 天($1 \le j \le M$),所有种类为 $j$ 的商品均以定价的一半价格出售。 在促销期间,共有 $Q$ 位顾客访问了 JOI 商店。每位顾客被编号为从 $1$ 到 $Q$。顾客 $k$($1 \le k \le Q$)在促销的第 $T_k$ 天访问商店,并购买了商品 $L_k, L_k+1, \cdots, R_k$ 各一件。 为了评估促销的效果,商店希望知道每位顾客购买商品所花费的金额。 给定商品信息和顾客信息,编写一个程序,计算每位顾客购买商品所花费的金额。

输入格式

输入以如下格式给出: $N\ M\ Q$ $P_1\ A_1$ $P_2\ A_2$ $\vdots$ $P_N\ A_N$ $T_1\ L_1\ R_1$ $T_2\ L_2\ R_2$ $\vdots$ $T_Q\ L_Q\ R_Q$

输出格式

输出 $Q$ 行。第 $k$ 行($1 \le k \le Q$)应输出顾客 $k$ 购买商品所花费的金额,单位“日元”省略不写。

说明/提示

### 样例 1 解释 顾客 1 购买商品所花费的金额为 $40 \div 2 + 30 \div 2 + 20 \div 2 = 45$ 日元,因此第一行输出 45。 顾客 2 购买商品所花费的金额为 $30 \div 2 + 20 \div 2 + 50 \div 2 = 50$ 日元,因此第二行输出 50。 顾客 3 购买商品所花费的金额为 $10 \div 2 + 40 \div 2 + 30 \div 2 + 20 \div 2 + 50 \div 2 = 75$ 日元,因此第三行输出 75。 该输入样例满足子任务 1、2、3、6 的约束。 ### 样例 2 解释 顾客 1 购买商品所花费的金额为 $40 + 30 + 20 \div 2 = 80$ 日元,因此第一行输出 80。 顾客 2 购买商品所花费的金额为 $30 + 20 + 50 \div 2 = 75$ 日元,因此第二行输出 75。 顾客 3 购买商品所花费的金额为 $10 + 40 + 30 \div 2 + 20 + 50 = 135$ 日元,因此第三行输出 135。 该输入样例满足子任务 1、3、6 的约束。 ### 数据范围 - $1 \le N \le 200\,000$。 - $1 \le M \le 200\,000$。 - $1 \le Q \le 200\,000$。 - $2 \le P_i \le 10^9$($1 \le i \le N$)。 - $P_i$ 为偶数($1 \le i \le N$)。 - $1 \le A_i \le M$($1 \le i \le N$)。 - $1 \le T_k \le M$($1 \le k \le Q$)。 - $1 \le L_k \le R_k \le N$($1 \le k \le Q$)。 - 所有输入的值均为整数。 ### 子任务 1. (15 分)$N \le 2\,000$,$M \le 2\,000$,$Q \le 2\,000$。 2. (20 分)$M = 1$。 3. (12 分)$M \le 10$。 4. (14 分)$A_i \ne A_j$($1 \le i < j \le N$)。 5. (22 分)$P_i = 2$($1 \le i \le N$)。 6. (17 分)无额外约束。 翻译由 Qwen3-235B 完成。