抽牌游戏
时间限制:C/C++ 2000MS,其他语言 4000MS
内存限制:C/C++ 256MB,其他语言 512MB
描述
有一叠 n 张卡牌的有序牌堆,每张牌上有一个整数数值 a i a_{i} ai,你可以按照如下的方案获取得分,得分初始是 0。
每次你可以做下面三种操作之一:
-
选择奇数 i,则选择牌堆从上往下数第 i 张牌弃掉后获得等同于其卡面上数值的分数;
-
选择偶数 i,则选择牌堆从上往下数第 i 张牌弃掉后,什么都不做;
-
直接结束游戏,你可以在任意时刻结束游戏,无论牌桌上有没有剩余的牌。
求你能获得的最大分数。
输入描述
每个测试包含多个测试用例。第一行包含测试用例的数量 t.
测试用例的说明如下:
每个测试用例的第一行包含一个整数 n ( 1 ≤ n ≤ 2 ⋅ 1 0 5 ) n (1≤n≤2⋅10^5) n(1≤n≤2⋅105).
每个测试用例的第二行包含 n 个整数 a 1 , a 2 , . . . , a n a_1,a_2,...,a_n a1,a2,...,an
保证在所有测试用例 n 的总和中不超过 2 × 1 0 5 2 × 10^5 2×10