AT_abc261_d [ABC261D] Flipping and Bonus
题目描述
高桥君要进行 $N$ 次抛硬币。他还持有一个计数器,初始时计数器的数值为 $0$。
在第 $i$ 次抛硬币时,根据正反面的结果,会发生以下情况:
- 如果是正面:高桥君将计数器的数值加 $1$,并获得 $X_i$ 日元。
- 如果是反面:高桥君将计数器的数值重置为 $0$,且无法获得金钱。
此外,有 $M$ 种连续奖励,第 $i$ 种连续奖励为:每当计数器的数值变为 $C_i$ 时,可以获得 $Y_i$ 日元。
请你求出高桥君最多可以获得多少日元。
输入格式
输入以如下格式从标准输入给出。
> $N$ $M$ $X_1$ $X_2$ $\ldots$ $X_N$ $C_1$ $Y_1$ $C_2$ $Y_2$ $\vdots$ $C_M$ $Y_M$
输出格式
请输出高桥君能够获得的最大金额(整数)。
说明/提示
### 限制条件
- $1\leq M\leq N\leq 5000$
- $1\leq X_i\leq 10^9$
- $1\leq C_i\leq N$
- $1\leq Y_i\leq 10^9$
- $C_1,C_2,\ldots,C_M$ 均互不相同。
- 输入均为整数。
### 样例解释 1
依次出现正面、正面、反面、正面、正面、正面时,获得的金额如下:
- 第 $1$ 次抛硬币为正面。计数器从 $0$ 变为 $1$,获得 $2$ 日元。
- 第 $2$ 次抛硬币为正面。计数器从 $1$ 变为 $2$,获得 $7$ 日元,并作为连续奖励获得 $10$ 日元。
- 第 $3$ 次抛硬币为反面。计数器从 $2$ 变为 $0$。
- 第 $4$ 次抛硬币为正面。计数器从 $0$ 变为 $1$,获得 $8$ 日元。
- 第 $5$ 次抛硬币为正面。计数器从 $1$ 变为 $2$,获得 $2$ 日元,并作为连续奖励获得 $10$ 日元。
- 第 $6$ 次抛硬币为正面。计数器从 $2$ 变为 $3$,获得 $8$ 日元,并作为连续奖励获得 $1$ 日元。
此时高桥君共获得 $2+(7+10)+0+8+(2+10)+(8+1)=48$ 日元,为最大值。
请注意,连续奖励每当计数器数值变为 $C_i$ 时都可以获得多次。
顺便一提,若 $6$ 次抛硬币全部为正面,则只能获得 $2+(7+10)+(1+1)+8+(2+5)+8=44$ 日元,不是最大值。
### 样例解释 2
请注意,答案可能超出 $32$ 位整数范围。
由 ChatGPT 4.1 翻译