小y的游戏
题号:NC212822
时间限制:C/C++/Rust/Pascal 4秒,其他语言8秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

小y是一个喜欢打游戏的女孩子,但是Alan就从来玩游戏,然后小y在游戏里遇到了问题
在游戏中有n只怪物,其中第i只怪物的血量是blood[i]。然后操作手柄的你有一种攻击武器,称为“三连冲击波”,
每使用一次这个攻击武器,你都可以选择三只怪物被杀伤,它的杀伤力是这样的:
一、首先被冲击的那只怪物的能量会减少 9。
二、其次被冲击的那只怪物的能量会减少 3。(N>=2 时有效)
三、最后被冲击的那只怪物的能量会减少 1。(N>=3 时有效)
(N为还活着的怪物的数量)
当某只怪物的能量为 0 或者低于 0 时,该怪物就会灭亡。你可以按照你的意愿来确定每一次使用攻击武器时,怪物受到冲击的次序。你的任务是计算,至少要使用多少次攻击武器,才能消灭 n 只怪物?
小y喜欢Alan能帮他解决这个问题,如果你是Alan, 你能解决这个问题吗?
注意:1、当怪物的能力小于等于 0 时,你依然可以对它进行攻击。2、在一轮攻击中,同一
只怪物不能被攻击多次。

输入描述:

多组测试数据。
第一行,一个整数 T,表示有 T 组测试数据。 1 <= T <= 20。
每组测试数据格式如下:
第一行,一个整数 n。 1 <= n <= 20。
第二行,有 n 个正整数: 第 i 个正整数是 blood[i],-60 <= blood[i] <= 60。

输出描述:

共 T 行,每行一个整数表示答案。

示例1

输入

复制
5
20
60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60
20
18 42 44 33 23 7 42 44 8 23 26 48 11 58 43 15 4 29 24 52
3
9 2 2
3
45 17 3
3
3 5 18

输出

复制
93
46
2
6
3

备注:

对于4%的数据:输入数据为样例
对于另外24%的数据:n<=10
对于另外16%的数据:n<=15
对于100%的数据: n<=20