每日一贴,今天的内容关键字为金币能力
题意:恶龙有n个头,每个头直径x,国王可以雇佣m个骑士,每个骑士能力为y,能砍半径y的头,雇佣金为y,不能重复雇佣,问最少能消费多少金币
思路:对两者停止排序,然后停止比拟相加便可
#include <stdio.h> #include <algorithm> using namespace std; int main() { int n,m; int a[20005],b[20005],i,j; while(~scanf("%d%d",&n,&m)) { if(!n && !m) break; for(i = 0;i<n;i++) scanf("%d",&a[i]); for(i = 0;i<m;i++) scanf("%d",&b[i]); sort(a,a+n); sort(b,b+m); int sum = 0,flag = 0,cnt = 0; for(i = 0;i<m;i++) { if(b[i] >= a[cnt]) { sum+=b[i]; if(++cnt == n) break; } } if(cnt<n) printf("Loowater is doomed!\n"); else printf("%d\n",sum); } return 0; }
文章结束给大家分享下程序员的一些笑话语录:
N多年前,JohnHein博士的一项研究表明:Mac用户平均IQ要比PC用户低15%。超过6000多的参加者接受了测试,结果清晰的显示IQ比较低的人会倾向于使用Mac。Mac用户只答对了基础问题的75%,而PC用户却高达83%。