首页 > 编程语言 >打卡信奥刷题(336)用C++工具信奥P2813[普及组/提高] 母舰

打卡信奥刷题(336)用C++工具信奥P2813[普及组/提高] 母舰

时间:2024-11-30 15:31:50浏览次数:9  
标签:信奥 攻击 336 系统 1200 2000 母舰 打卡 1000

母舰

题目背景

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

(有没有红警既视感~)

题目描述

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

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

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

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

输入格式

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

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

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

输出格式

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

样例 #1

样例输入 #1

3 5 
1000 
2000 
1200 
2100 
2000 
1200 
1000 
1000

样例输出 #1

2000

提示

样例解释 #1

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

数据范围与约定

对于 80 % 80 \% 80% 的数据, 1 ≤ N , M ≤ 1000 1 \le N,M \le 1000 1≤N,M≤1000。

对于 100 % 100 \% 100% 的数据, 1 ≤ N , M ≤ 1 0 5 1 \le N,M \le 10 ^ 5 1≤N,M≤105。

本题为转载题目。

C++实现

#include
#include
#include
using namespace std;
int tf[10000000],wf[10000000];
int m,n,s,i,t;
int main()
{
cin>>m>>n;
for(i=1;i<=m;i++)scanf("%d",&tf[i]);
for(i=1;i<=n;i++)scanf("%d",&wf[i]);
sort(tf+1,tf+1+m);
sort(wf+1,wf+1+n);
t=1;
for(i=1;i<=n;i++)
{
if(tf[t]==0)t++;
if(tf[t]<wf[i]&&tf[t]!=0){wf[i]=0;t++;}
}
if(t<=m){cout<<0;return 0;}
for(i=1;i<=n;i++)s+=wf[i];
cout<<s;
}

在这里插入图片描述
接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

标签:信奥,攻击,336,系统,1200,2000,母舰,打卡,1000
From: https://blog.csdn.net/rogeliu/article/details/144138857

相关文章

  • 考研打卡(32)
    开局(32)开始时间 2024-11-30 13:44:59结束时间 2024-11-30 15:18:42刚才去洗牙,体验了一波新事物嗷,挺新奇的,但是发现有个好大好大的蛀牙啊啊啊啊啊数据结构判定一个有向图是否存在回路除了可以利用拓扑排序方法外,还可以用_____(中国石油大学2013年)A求关键路径的方法......
  • 考研打卡(31)
    开局(31)开始时间 2024-11-30 08:23:52结束时间 2024-11-30 09:24:35睡醒了。睡了六个小时睡不着了数据结构若一个有向图中的顶点不能排成一个拓扑序列,则可断定该有向图______(武汉科技大学2013年)A是个有根有向图B是个强连通图C含有多个入度为0的顶点D含有顶点......
  • 信息学奥赛一本通1336:【例3-1】找树根和孩子(同东方博宜OJ 2188. 找树根)
    【题目描述】给定一棵树,输出树的根root,孩子最多的结点max以及他的孩子。【输入】第一行:n(结点个数≤100),m(边数≤200)。以下m行:每行两个结点x和y,表示y是x的孩子(x,y≤1000)。【输出】第一行:树根:root;第二行:孩子最多的结点max;第三行:max的孩子(按编号由小到大输出)。【输......
  • CSP/信奥赛C++语法基础刷题训练(33):洛谷P1055:[NOIP2008 普及组] ISBN 号码
    CSP/信奥赛C++语法基础刷题训练(33):洛谷P1055:[NOIP2008普及组]ISBN号码题目描述每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括999位数字、......
  • CSP/信奥赛C++语法基础刷题训练(34):洛谷P2241:统计方形
    CSP/信奥赛C++语法基础刷题训练(34):洛谷P2241:统计方形题目背景1997年普及组第一题题目描述有一个n×mn\timesm......
  • 考研打卡(30)
    开局(30)开始时间 2024-11-29 08:23:23结束时间 2024-11-29 09:21:22今早醒来,打了十几个喷嚏,蹲了一分钟才发现是女厕所(还好没人)数据结构 有一个有序表R[1...13]={1,3,9,12,32,41,45,62,75,77,82,95,100},当用二分查找法查找值为82的节点时,经过______次比较后查找成功。(上海大学2......
  • 考研打卡(29)
    开局(29)开始时间 2024-11-28 14:45:31结束时间 2024-11-28 15:17:32明天是1125今天去学冠领了几份资料数据结构具有5层节点的AVL树至少有_______个节点。(南昌大学2015年)A10B12C15D17B答案设Nh表示深度为h的平衡二叉树中含......
  • 考研打卡(28)
    开局(28)开始时间 2024-11-27 22:50:07结束时间 2024-11-27 23:25:29 明天是1124刚才和室友去吃了一百一的羊肉火锅数据结构 设哈希表长m=14,哈希函数H(key)=keyMOD11。表中已有4个节点addr(15)=4,addr(38)=5,addr(61)=6,addr(84)=7,其余地址为空,如用二次探查再散列......
  • 泷羽sec-星光不负a-学习打卡-安全见闻(3)
    声明学习视频来自B站UP主泷羽sec,如涉及侵权马上删除文章笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负脚本语言又被称为动态语言,是一种编程语言,用来控制系统里的软件应用程序,脚本通常以文本(如ASCII)保存,只有......
  • 打卡信奥刷题(309)用C++信奥P2614[普及组/提高] 计算器弹琴
    计算器弹琴题目描述总所周知,计算器可以拿来干很多它本不应该干的事情,比如写作文。(参看洛谷P2549)小A发现了一个计算器的另一个隐藏功能——弹琴。http://www.bilibili.com/video/av2205500/如果按上一个键,比如说1,就会发出中音“Do”。这边给出按键音高表+低音Fa<低......