#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 位整数类型的范围。

数据范围

  • 1MN50001 \le M \le N \le 5000
  • 1Xi1091 \le X_i \le 10^9
  • 1CiN1 \le C_i \le N
  • 1Yi1091 \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
上传者
标签