Logo Universal Online Judge

UOJ

时间限制:1 s 空间限制:128 MB
统计

打怪(monster) 1s 128MB O2 加速

题目描述

有n 个怪物,第i 个怪物的血量是a 。

现在你有一个技能,发动一次需要花费一个金币,当技能发动后,所有存活的怪物 的血量都会-1,当怪物血量降为0后视为被消灭。特别的,如果这次发动的技能后 有至少一只怪物死亡,你都将获得一个金币的奖励。

令f (s )为消灭集合s 中的怪物总共需要付出几个金币,即花费的金币数量减去 获得的奖励金币数量。求这n 个怪物的所有子集的f 值之和。

答案对109 + 7取模。如果余数小于0,输出加上109 + 7的结果。

输入格式

第一行一个正整数n 。

第二行n 个正整数a ,表示第i 个怪物的血量。

输出格式

输出一个非负整数,表示答案。

样例输入1

5

1 2 2 2 4

样例输出1

33

样例输入输出2

见下发文件。

数据规模

共 10 个测试点。

测试点1,2,3满足n <= 15。

测试点4,5,6满足n <= 100,1 <= a i <= 100。

对于所有数据,满足1 <= n <= 105, 1 <= a i <= 109。