Senior's Gun

 Accepts: 235
 Submissions: 977
 Time Limit: 2000/1000 MS (Java/Others)
 Memory Limit: 65536/65536 K (Java/Others)
问题描述
学姐姐是一个酷酷的枪手。

她常常会随身携带n把枪,每把枪有一个攻击力a[i]。

有一天她遇到了m只怪兽,每只怪兽有一个防御力b[j]。现在她决定用手中的枪消灭这些怪兽。

学姐姐可以用第i把枪消灭第j只怪兽当且仅当b[j]≤a[i],同时她会获得a[i]−b[j]的分数。

每把枪至多只能使用一次,怪兽死后也不会复活。现在学姐姐想知道她最多能得到多少分(她可以不用消灭所有的怪兽)。
输入描述
第一行包含一个整数T,表示测试数据组数。

对于每组测试数据:

第一行包含两个整数n,m,表示枪的数量和怪兽的数量。

第二行包含n个整数a[i],表示枪的攻击力。

第三行包含m个整数b[j],表示怪兽的防御力。

1≤n,m≤100000, −109≤a[i],b[j]≤109。
输出描述
对于每组测试数据,输出一个整数表示对应的答案。
输入样例
1
2 2
2 3
2 2
输出样例
1

最后AC的时候我的内心是极为崩溃的,又是因为一些小细节错过了自己头一次在周赛中AC两道题的机会,这次要是AC两道题说明自己这一段时间以来还是有一些进步的,可惜方法没有错啊光速小子为什么没有自信检查一下细节啊,那时候最后比的15分钟,自己完全乱了,在思考方法哪里不对,其实仔细观察数据会发现ans肯定要超出啊,int变long long 啊。

发现还是真真正正的比赛锻炼思考的能力,就算是一些小型的比赛。头脑要保持冷静啊光速小子,cmp也写错,关键是还加进了两个sort里面,你当时的头 是有多混乱你告诉我。。。

这题就是贪心,用最狠的武器挑最软的柿子捏啊,没什么好说的。整个贪一遍,就AC了。。。就这么简单。。。也不要总把第二题想象得有多难。。。。。

代码:

#include <iostream>
#include <string>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std; int a[100005];
int b[100005]; bool cmp(int a,int b)
{
return a>b;
}
int main()
{
int Test;
int gun_num,guai,i,j;
long long ans;
cin>>Test; while(Test--)
{
ans=0;
cin>>gun_num>>guai; for(i=1;i<=gun_num;i++)
cin>>a[i];
for(i=1;i<=guai;i++)
cin>>b[i]; sort(a+1,a+gun_num+1,cmp);
sort(b+1,b+guai+1); i=1;j=1;
while(i<=gun_num&&j<=guai)
{
if(a[i]-b[j]>0)
ans += a[i]-b[j];
i++;
j++;
}
cout<<ans<<endl;
}
return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

HDU 5281 BestCoder Round #47 1002:Senior's Gun的更多相关文章

  1. HDU 5280 BestCoder Round #47 1001:Senior's Array

    Senior's Array  Accepts: 199  Submissions: 944  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit ...

  2. HDU 5945 / BestCoder Round #89 1002 Fxx and game 单调队列优化DP

    Fxx and game 问题描述   青年理论计算机科学家Fxx给的学生设计了一款数字游戏. 一开始你将会得到一个数\:XX,每次游戏将给定两个参数\:k,tk,t, 任意时刻你可以对你的数执行下面 ...

  3. hdu 4932 BestCoder Round #4 1002

    这题真是丧心病狂,引来今天的hack狂潮~ Miaomiao's Geometry Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65 ...

  4. hdu 5643 BestCoder Round #75

    King's Game  Accepts: 249  Submissions: 671  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 6 ...

  5. hdu 5641 BestCoder Round #75

    King's Phone  Accepts: 310  Submissions: 2980  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: ...

  6. 贪心/二分查找 BestCoder Round #43 1002 pog loves szh II

    题目传送门 /* 贪心/二分查找:首先对ai%=p,然后sort,这样的话就有序能使用二分查找.贪心的思想是每次找到一个aj使得和为p-1(如果有的话) 当然有可能两个数和超过p,那么an的值最优,每 ...

  7. Manacher BestCoder Round #49 ($) 1002 Three Palindromes

    题目传送门 /* Manacher:该算法能求最长回文串,思路时依据回文半径p数组找到第一个和第三个会文串,然后暴力枚举判断是否存在中间的回文串 另外,在原字符串没啥用时可以直接覆盖,省去一个数组空间 ...

  8. 二分图判定+点染色/并查集 BestCoder Round #48 ($) 1002 wyh2000 and pupil

    题目传送门 /* 二分图判定+点染色:因为有很多联通块,要对所有点二分图匹配,若不能,存在点是无法分配的,no 每一次二分图匹配时,将点多的集合加大最后第一个集合去 注意:n <= 1,no,两 ...

  9. 暴力+降复杂度 BestCoder Round #39 1002 Mutiple

    题目传送门 /* 设一个b[]来保存每一个a[]的质因数的id,从后往前每一次更新质因数的id, 若没有,默认加0,nlogn复杂度: 我用暴力竟然水过去了:) */ #include <cst ...

随机推荐

  1. wdcp升级php5.8到php7.1.12后安装禅道

    ()下载禅道安装包 http://www.zentao.net/download/zentao10.0.beta-80076.html ()安装禅道 http://www.zentao.net/boo ...

  2. 嵊州普及Day5T4

    题意:两个1,每次可将一个*k,一个*K2,n个问题,问能否达成x,y? 思路:只有将x,y相乘为3次方时,才可能.并且相乘的三次方一定要是x,y的因子. 下面证明:3次方易证,因为对每个k,都会乘三 ...

  3. spring源码第一章_获取源码并将源码转为eclipse工程

    1.通过http://gitforwindows.org/下载github 2.通过http://services.gradle.org/distributions/下载gradle:gardle类似 ...

  4. js 对象补充

    js 对象 普通对象与对象简写 js 没有字典类型,只有对象类型,对象可以完全替代字典来使用 js 中对象的属性名,都采用字符串类型,所以就可以省略字符串的引号标识 对象中属性值为函数时,称之为方法, ...

  5. bzoj 4652: [Noi2016]循环之美

    额,,网上一堆题解,,随便一找就找到笨蒟蒻扒的了. 这个比较神奇的是纯循环小数就是[(y,k)=1],题解有证明这个的,貌似就是k进制下的类似循环节,不会不会.. 然后这道题就变成了求这个东西:∑(x ...

  6. jenkins#构建并部署springboot的jar包

    0. 前提是有一个可以用的没有问题的Jenkins环境,这是基础 1. 安装publish over ssh 插件,(如果网速太慢,请去github 克隆代码,然后自己构建,然后上传安装此插件) 2. ...

  7. HDU3306-Another kind of Fibonacci(矩阵构造)

    Another kind of Fibonacci Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Jav ...

  8. IDEA开发spring boot应用时 application.yml 或 application.properties 自定义属性提示

    在使用spring boot开发过程中,经常会定义一些应用自己的属性,直接写到application配置文件中使用@Value注解进行使用,这样使用也没有什么问题.不过我认为更优雅的方式是定义自己的属 ...

  9. 二进制枚举之被RE完虐的我的一天

    记录一道学长们说有点难度的题目 好好玩啊这道题 ACM程序设计大赛是大学级别最高的脑力竞赛,素来被冠以"程序设计的奥林匹克"的尊称.大赛至今已有近40年的历史,是世界范围内历史最悠 ...

  10. Educational Codeforces Round 63 选做

    D. Beautiful Array 题意 给你一个长度为 \(n\) 的序列.你可以选择至多一个子段,将该子段所有数乘上给定常数 \(x\) .求操作后最大的最大子段和. 题解 考虑最大子段和的子段 ...