编程题
### 问题描述 在小兰的生日那天,她的好朋友坤坤送给她一个神秘的礼物——一个圆柱形宝石盒。宝石盒中横向排列着 $N$ 个宝石。从左到右,这些宝石的价值分别是 $V_1, V_2, ..., V_N$。值得注意的是,有些宝石的价值可能为负。 一开始,小兰手中没有任何宝石。坤坤为了增加挑战的趣味性,给出了一套规则。小兰最多可以对宝石盒进行 $K$ 次操作: - 操作 $A$:取出盒子最左边的宝石。当盒子为空时,不能进行此操作。 - 操作 $B$:取出盒子最右边的宝石。当盒子为空时,不能进行此操作。 - 操作 $C$:选择手中的一个宝石,放到宝石盒的最左端。当手中没有宝石时,不能进行此操作。 - 操作 $D$:选择手中的一个宝石,放到宝石盒的最右端。当手中没有宝石时,不能进行此操作。 现在,小兰的挑战就是在规定的操作次数内,使自己手中的宝石总价值最大。你能帮助她吗? ### 输入格式 第一行输入两个整数 $N$ 和 $K$ $(1 \leq N \leq 50,1 \leq K \leq 100)$,分别表示宝石的数量和最多的操作次数。 第二行输入 $N$ 个整数,表示每个宝石的价值 $V_i$ $(-10^9 \leq V_i \leq 10^9)$。 ### 输出格式 输出一个整数,表示在最多 $K$ 次操作后,小兰手中宝石的最大可能总价值。 ### 样例输入 ```markdown 5 3 1 2 -1 3 -2 ``` ### 样例输出 ```markdown 3 ``` ### 说明 在样例中,小兰可以选择以下操作来获得最大的总价值:先取出最右边的两块宝石,然后放回价值为 $-2$ 的宝石,手机最终有一块价值为 $3$ 的宝石。
查看答案
赣ICP备20007335号-2