问题 D: 城堡攻城计划

内存限制:256 MB 时间限制:2 S
题面:传统 评测方式:文本比较 上传者:
提交:146 通过:24

题目描述

在中世纪的城堡攻防战中,攻城方需要制定最优的攻城策略以最大化对敌方城堡的破坏。敌方城堡外设有若干座防御塔,每座防御塔都有固定的防御值;攻城方则拥有若干门攻城炮,每门炮有固定的攻击值。

攻城规则如下:

  1. 攻城时,需用攻城炮依次攻击防御塔。每门炮只能使用一次,每次攻击可选择任意一座未被摧毁的防御塔。
  2. 当攻城炮的攻击值 严格大于 防御塔的防御值时,该防御塔会被摧毁。
  3. 只有当所有防御塔都被摧毁后,剩余未使用的攻城炮才能直接攻击城堡,每门剩余炮的攻击值会全部转化为对城堡的伤害。

请你计算,攻城方通过合理安排攻击顺序,最多能对城堡造成多少伤害?

输入格式

第一行两个整数 M 和 N,分别表示敌方防御塔的数量和攻城炮的数量。
接下来 M 行,每行一个整数,表示一座防御塔的防御值。
再接下来 N 行,每行一个整数,表示一门攻城炮的攻击值。

输出格式

输出仅一行,表示通过最优策略能对城堡造成的最大伤害。

输入样例 复制

3 5
1000
2000
1200
2100
2000
1200
1000
1000

输出样例 复制

2000

分类标签