Banner Home Page DIY Contests Problems Ranklist Status Statistics

三消游戏

Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65536/65536K (Java/Other)
Total Submission(s) : 31   Accepted Submission(s) : 11

Font: Times New Roman | Verdana | Georgia

Font Size:

Problem Description

程序设计大赛这样的活动,报名选手自然少不了当当姐啦。作为太吾村里最聪明的同学,她不一会儿便完成了比赛中的所有题目。酷爱三消游戏的她顺手在草稿纸上发明了一种简单的数字三消游戏。
游戏中,每回合会给出一行n个数字,我们设其中第i个数字为a[i]。当当姐会把数字a[i]想象为一堆位于第i列的,高度为a[i]的积木(a[i]可以为0),而她每次操作,可以选择下标连续(如3,4,5)的三个非空积木堆,在每个积木堆上都各拿走一块积木。而如果再也找不到下标连续的三个非空积木堆,游戏便结束了。
当当姐想要知道的是,最少操作多少次,以及最多操作多少次,可以使得游戏结束呢?
注意,当一堆积木被消除为空时,所有积木的编号并不会发生改变。

Input

第一行为一个整数T,代表数据组数。
接下来,对于每组数据――
第一行两个整数n,表示积木的堆数。
第二行有n个用空格隔开的整数,其中第i个数字a[i]代表第i列的积木个数。
数据保证――
1 <= T <= 1000
0 <= a[i] <= 500
设a[1] + a[2] + ... + a[n] = m,有:
对于98%的数据,3 <= n <= 10 && 0 <= m <= 100
对于100%的数据,3 <= n <= 100 && 0 <= m <= 1000

Output

对于每组数据,输出两个数字。
该行有2个整数,分别表示当当姐游戏结束前最少的操作数和最多的操作数。

Sample Input

4
3
4 6 8
5
0 0 10 0 0
6
2 3 4 5 6 7
7
8 3 2 6 2 5 8

Sample Output

4 4
0 0
5 7
2 4

Source

642超哥

Statistic | Submit | Back