UVA11292:Dragon of Loowater

来源:互联网 发布:c语言中的getchar 编辑:程序博客网 时间:2024/05/17 23:05

题意:恶龙有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;}


 

原创粉丝点击