博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷——P2813 母舰
阅读量:6245 次
发布时间:2019-06-22

本文共 1617 字,大约阅读时间需要 5 分钟。

P2813 母舰

题目背景

广东汕头聿怀初中 Train#3 Problem 1

(有没有红警既视感~)

题目描述

在小A的星际大战游戏中,一艘强力的母舰往往决定了一场战争的胜负。一艘母舰的攻击力是普通的MA(Mobile Armor)无法比较的。

对于一艘母舰而言,它是由若干个攻击系统和若干个防御系统组成的。两艘母舰对决时,一艘母舰会选择用不同的攻击系统去攻击对面母舰的防御系统。当这个攻击系统的攻击力大于防御系统的防御力时,那个防御系统会被破坏掉。当一艘母舰的防御系统全部被破坏掉之后,所有的攻击都会攻击到敌方母舰本身上去造成伤害。

这样说,一艘母舰对对面的伤害在一定程度上是取决于选择的攻击对象的。

在瞬息万变的战场中,选择一个最优的攻击对象是非常重要的。所以需要写出一个战斗系统出来,判断出你的母舰最多能对对手造成多少伤害并加以实现。

输入输出格式

输入格式:

 

输入第一行两个整数M和N,表示对方母舰的防御系统数量和你的母舰的攻击系统数量。

接着M行每行一个整数每一个表示对方防御系统的防御力是多少。

接着N行每行一个整数每一个表示己方攻击系统的攻击力是多少。

 

输出格式:

 

输出仅有一行,表示可以造成的最大伤害。

 

输入输出样例

输入样例#1: 
3 5 1000 2000 1200 2100 2000 1200 1000 1000
输出样例#1: 
2000

说明

对于80%的数据有 1 <= N , M <= 1000

对于100%的数据有 1 <= N , M <= 100000

对样例的解释:

对方防御系统有3个,防御值为1000(a),2000(b),1200(c),己方攻击系统有5个,攻击值为2100(d),2000(e),1200(f),1000(g),1000(h)。第1轮攻击的最优方案是d攻击b,e攻击c,f攻击a,g和h攻击对方母舰本身,造成2000点伤害。

本题为转载题目~

 

 

#include
#include
#include
#include
#define N 100010using namespace std;int n,m,k,a[N],b[N],ans;int read(){ int x=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9'){
if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9') x=x*10+ch-'0',ch=getchar(); return x*f;}int main(){ n=read(),m=read(); for(int i=1;i<=n;i++) a[i]=read(); for(int i=1;i<=m;i++) b[i]=read(); sort(a+1,a+1+n); sort(b+1,b+1+m);k=1; for(int i=1;i<=m;i++) { if(b[i]>a[k]) k++; else ans+=b[i]; if(k>n) { for(int j=i+1;j<=m;j++) ans+=b[j]; break; } } if(k<=n) ans=0; printf("%d",ans); return 0;}

 

转载于:https://www.cnblogs.com/z360/p/7967582.html

你可能感兴趣的文章
怎么查看80端口占用情况- 如何查看端口占用情况?
查看>>
搭建测试框架
查看>>
position:absolute在IE8浏览器下无法显示正确位置
查看>>
过滤器与拦截器区别
查看>>
C# 使用 Windows API 发送文件到打印机
查看>>
NOIP2013 D1T3 货车运输 倍增LCA OR 并查集按秩合并
查看>>
80端口被NT kernel & System 占用pid 4
查看>>
mat工具MemoryAnalyzer进行分析java内存溢出hprof文件
查看>>
完整性约束
查看>>
Django之restframework
查看>>
P3924 康娜的线段树
查看>>
Vue的安装和语法
查看>>
验证表单必须为数字并且只保留小数点后2位
查看>>
2-sat基础题 uvalive 3211
查看>>
Elasticsearch5.2.0部署过程的坑
查看>>
go build 不同系统下的可执行文件
查看>>
浏览器版本信息判断整理
查看>>
【我的Android进阶之旅】解决Android Studio 运行gradle命令时报错: 错误: 编码GBK的不可映射字符...
查看>>
windows 下解决 Time_Wait 和 CLOSE_WAIT 方法
查看>>
SOUI Editor使用教程
查看>>