1783: 最大值
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:141
解决:24
题目描述
zzh在玩一个游戏,在游戏里他可以操作角色释放n个技能,每个技能都有对应的属性(一种是冰,一种是火)。
如果当前技能立即跟随另一种不同类型的技能释放,那么其伤害将翻倍(例:一个冰属性技能在一个火属性技能释放之后立即释放,这个冰属性技能造成的伤害将翻倍)。
zzh可以按照任意种顺序释放技能。请你求出zzh所能造成伤害的最大值。
如果当前技能立即跟随另一种不同类型的技能释放,那么其伤害将翻倍(例:一个冰属性技能在一个火属性技能释放之后立即释放,这个冰属性技能造成的伤害将翻倍)。
zzh可以按照任意种顺序释放技能。请你求出zzh所能造成伤害的最大值。
输入
第一行,一个正整数n,技能的数量
第二行,n个整数(0或1,0代表技能是火属性,1代表技能是冰属性),每个技能的属性
第三行,n个整数,每个技能造成的伤害
第二行,n个整数(0或1,0代表技能是火属性,1代表技能是冰属性),每个技能的属性
第三行,n个整数,每个技能造成的伤害
输出
输出一个数字,zzh所能造成伤害的最大值
样例输入 复制
4
0 1 1 1
1 10 100 1000
样例输出 复制
2112
提示
样例说明:
在测试用例中,我们可以按[3,1,4,2]对技能进行排序,总伤害为100+2×1+2×1000+10=2112。(第三个技能先释放,造成1 * 100点伤害,接着释放第一个技能,触发翻倍造成2 * 1点伤害,接着释放第4个技能,造成2 * 1000点伤害,最后释放第二个技能,造成1 * 10点伤害)
数据范围:
在测试用例中,我们可以按[3,1,4,2]对技能进行排序,总伤害为100+2×1+2×1000+10=2112。(第三个技能先释放,造成1 * 100点伤害,接着释放第一个技能,触发翻倍造成2 * 1点伤害,接着释放第4个技能,造成2 * 1000点伤害,最后释放第二个技能,造成1 * 10点伤害)
数据范围:
1 <= n <= 1000;
0 <= 每个技能造成的伤害 <= 1e9