1195:斐波那契程序员

时间限制: 2 S | 内存限制: 65536 KB
Accept: 0 | Submit: 0
[提交] [状态] [讨论版]
描述

有一个程序员,每天都在写bug和修复昨天以及前天写的bug。

假设他能修复昨天写的且尚未修复的一半数量的bug,同时能修复前天写的尚未修复的一半数量的bug(如果“一半数量”不是整数则取整)

已知他一共工作了a天,也知道他这a天里每一天写的bug数量,问a天之后,还存在多少个没有解决的bug?

例如,如果他工作了4天,每天写的bug数量分别是4、5、8、6,

第1天写了4个bug,

第2天写了5个bug,同时修复了第1天写的2个bug,

第3天写了8个bug,同时修复了第2天的2个bug,第1天写的1个bug(因为第1天还剩2个bug,解决一半)

第4天写了6个bug,同时修复了第3天写的4个bug,第2天写的1个bug

这样第1天剩1个bug,第2天2个bug,第3天剩4个bug,第4天剩6个bug,总共13个。

输入

一个正整数n,表示有n组案例。

每组案例先是一个正整数a,表示工作的天数;然后是a个整数,表示每天写的bug数量。(a<=100,结果不会超过int范围)

输出

针对每组案例,输出一个整数,表示最后没有解决的bug数量。

每组案例输出完都要换行。

样例输入

1

4

4 5 8 6

样例输出

13

HINT


来源
18-19(2)第2次线上赛