#ABC261D. 掷硬币与连胜奖励

掷硬币与连胜奖励

掷硬币与连胜奖励

题目描述

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

根据第 ii 次掷硬币的结果,会发生以下情况:

如果正面朝上:Takahashi 将计数器的值加 11,并获得 XiX_i 日元(日本货币)。

如果反面朝上:他将计数器的值重置为 00,且不获得钱。

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

求 Takahashi 最多能获得多少钱。

输入格式

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

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

输出格式

输出 Takahashi 最多能获得的钱数,以整数形式。

样例

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

如果依次得到正、正、反、正、正、正,则会获得以下金额。

第 11 次掷硬币为正面。计数器的值从 00 变为 11,获得 22 日元。

第 22 次掷硬币为正面。计数器的值从 11 变为 22,获得 77 日元。另外,作为连胜奖励获得 1010 日元。

第 33 次掷硬币为反面。计数器的值从 22 变为 00。

第 44 次掷硬币为正面。计数器的值从 00 变为 11,获得 88 日元。

第 55 次掷硬币为正面。计数器的值从 11 变为 22,获得 22 日元。另外,作为连胜奖励获得 1010 日元。

第 66 次掷硬币为正面。计数器的值从 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 日元,并不是最大值。

3 2
1000000000 1000000000 1000000000
1 1000000000
3 1000000000
5000000000

注意,答案可能超出 3232 位整数类型的范围。

数据范围

  • 1≤M≤N≤50001 \le M \le N \le 5000
  • 1≤Xi≤1091 \le X_i \le 10^9
  • 1≤Ci≤N1 \le C_i \le N
  • 1≤Yi≤1091 \le Y_i \le 10^9
  • C1,C2,…,CMC_1,C_2,\ldots,C_M 两两不同
  • 输入均为整数
难度 普及+/提高-
通过率 —
尝试 0
通过 0
ID
2459
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签