#abc261d. [abc261_d]Flipping and Bonus

[abc261_d]Flipping and Bonus

问题描述

Takahashi 要抛掷一枚硬币 NN 次。他还有一个计数器,初始值为 00

根据第 ii 次抛硬币的结果,会出现以下情况:

  • 如果是正面:Takahashi 将计数器的值增加 11 并得到 XiX_i 日元(日本货币)。
  • 如果是反面:他将计数器的值重置为 00,并且不得到任何钱。

此外,还有 MM 种连续奖励。第 ii 种连续奖励在计数器显示为 CiC_i 时每次奖励 YiY_i 日元。

找到 Takahashi 可以得到的最多金额。

约束条件

  • 1MN50001 \leq M \leq N \leq 5000
  • 1Xi1091 \leq X_i \leq 10^9
  • 1CiN1 \leq C_i \leq N
  • 1Yi1091 \leq Y_i \leq 10^9
  • C1,C2,,CMC_1,C_2,\ldots,C_M 是全部不同的。
  • 输入中的所有值都是整数。

输入

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

NN MM X1X_1 X2X_2 \ldots XNX_N C1C_1 Y1Y_1 C2C_2 Y2Y_2 \vdots CMC_M YMY_M

输出

以整数形式打印 Takahashi 可以得到的最大金额。


示例输入1

6 3
2 7 1 8 2 8
2 10
3 1
5 5

示例输出1

48

如果按照正面、正面、反面、正面、正面、正面的顺序出现结果,将获得以下金额:

  • 在第一次抛硬币时,硬币为正面朝上。将计数器的值从 00 改变为 11 并获得 22 日元。
  • 在第二次抛硬币时,硬币为正面朝上。将计数器的值从 11 改变为 22 并获得 77 日元。此外,作为连续奖励还获得 1010 日元。
  • 在第三次抛硬币时,硬币为反面朝上。将计数器的值从 22 更改为 00
  • 在第四次抛硬币时,硬币为正面朝上。将计数器的值从 00 更改为 11 并获得 88 日元。
  • 在第五次抛硬币时,硬币为正面朝上。将计数器的值从 11 更改为 22 并获得 22 日元。此外,作为连续奖励还获得 1010 日元。
  • 在第六次抛硬币时,硬币为正面朝上。将计数器的值从 22 更改为 33 并获得 88 日元。此外,作为连续奖励还获得 11 日元。

在这种情况下,Takahashi 总共获得 2+(7+10)+0+8+(2+10)+(8+1)=482+(7+10)+0+8+(2+10)+(8+1)=48 日元,这是可能的最大金额。
请注意,每当计数器显示为 CiC_i 时都会授予连续奖励任意次数。
补充一下,如果在所有 66 次抛硬币中都是正面朝上,那么他只能获得 2+(7+10)+(1+1)+8+(2+5)+8=442+(7+10)+(1+1)+8+(2+5)+8=44 日元,这不是最大值。


示例输入2

3 2
1000000000 1000000000 1000000000
1 1000000000
3 1000000000

示例输出2

5000000000

请注意,答案可能不适合 3232 位整数类型。