UVA 11292 - The Dragon of Loowater (water)

柔情只为你懂 2021-11-19 15:44 287阅读 0赞

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=2267

题目大意:n条恶龙,m个勇士,用勇士来杀恶龙。一个勇士只能杀一个恶龙。而且勇士只能杀直径不超过自己能力值的恶龙。每个勇士需要支付能力值一样的金币。问杀掉所有恶龙需要的最少金币?

题意分析:先排序,再进行筛选。

  1. #include<stdio.h>
  2. #include<algorithm> // sort
  3. #include<iostream>
  4. #include<string.h>
  5. using namespace std;
  6. const int MAXN=20010;
  7. int A[MAXN],B[MAXN];
  8. int main()
  9. {
  10. int n,m;
  11. int i,j;
  12. while(scanf("%d%d",&n,&m)==2 && n && m)
  13. {
  14. for(i=0;i<n;i++)scanf("%d",&A[i]);
  15. for(i=0;i<m;i++)scanf("%d",&B[i]);
  16. sort(A,A+n);
  17. sort(B,B+m);
  18. i=0;
  19. j=0;
  20. int ans=0;
  21. for(i=0;i<n;i++)
  22. {
  23. if(j>=m)break;
  24. while(j<m && A[i]>B[j])j++;
  25. if(j>=m)break;
  26. ans+=B[j];
  27. j++;
  28. }
  29. if(i < n) printf("Loowater is doomed!\n");
  30. else printf("%d\n",ans);
  31. }
  32. return 0;
  33. }

转载于:https://www.cnblogs.com/riasky/p/3435995.html

发表评论

表情:
评论列表 (有 0 条评论,287人围观)

还没有评论,来说两句吧...

相关阅读

    相关 uva 437——The Tower of Babylon

    题意:给定n个长方体,然后堆积最高的塔,要求上面的面积小于下面的面积。 思路:Dp,先把长方体的所有放的情况都构造出来放到数组里,对于当前节点,如果能够在

    相关 uva 1623——Enter The Dragon

    题意:有n个装满水的湖,可以预知将来m天下雨情况,每次下满一个湖,或者不下,不下雨的时候可以让某个湖变干,问是否存在一种方案使得每次下雨之前湖总是干的。 思路:贪心