A94813.abc270D - Stones

普及/提高-

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

问题陈述

高桥和青木将用序列 (A1,,AK)(A_1, \ldots, A_K) 进行取子游戏。

有一堆最初包含 NN 的棋子。两位棋手将交替进行以下操作,高桥先下。

  • 选择与棋堆中当前棋子数相等的 AiA_i 。从棋子堆中取出 AiA_i 颗棋子。

当棋子堆中没有棋子时,游戏结束。

如果双方都试图在对局结束前最大限度地增加所取出的棋子总数,那么高桥将取出多少颗棋子?

数据范围

  • 1N1041 \leq N \leq 10^4
  • 1K1001 \leq K \leq 100
  • 1=A1<A2<<AKN1 = A_1 < A_2 < \ldots < A_K \leq N
  • 输入值均为整数。

输入格式

输入内容由标准输入法提供,格式如下

NN KK
A1A_1 A2A_2 \ldots AKA_K

输出格式

打印答案

输入输出样例

  • 输入#1

    10 2
    1 4
    

    输出#1

    5
  • 输入#2

    11 4
    1 2 3 6
    

    输出#2

    8
    
  • 输入#3

    10000 10
    1 2 4 8 16 32 64 128 256 512
    
    

    输出#3

    5136
    

说明/提示

样例一解释

下面是一个可能的游戏进程。

  • 高桥从棋堆中取出 44 颗棋子。
  • 青木从棋堆中取出 44 颗棋子。
  • 高桥从棋堆中取出 11 颗棋子。
  • 青木从棋子堆中取出 11 颗棋子。

在这种情况下,高桥取出了 55 颗棋子。他不可能取出 66 或更多的棋子,因此这是最大值。

下面是对局的另一种可能进展,即高桥取出 55 颗棋子。

  • 高桥从棋堆中取出 11 颗棋子。
  • 青木从棋堆中取出 44 颗棋子。
  • 高桥从棋子堆中取出 44 枚棋子。
  • 青木从棋子堆中移除 11 个棋子。

样例二解释

下面是一个可能的游戏进程。

  • 高桥下出 66 子。
  • 青木取出 33 子。
  • 高桥移去 22 子。

在这种情况下,高桥移去 88 子。他不可能取出 99 或更多的棋子,因此这是最大值。

首页