UVa 11292 Dragon of Loowater(排序+贪心)

来源:互联网 发布:淘宝dsr影响多大 编辑:程序博客网 时间:2024/05/17 23:57

点击打开链接


题意:有n条龙,m个骑士,骑士的能力为x,可以砍x以下的头,每个骑士只能雇佣一次并且只能砍一次,费用是能力值x。求能不能消灭所有龙,并求出最小费用。

解决:将骑士和龙排序就好。

细节:。。。


#include<iostream>#include<algorithm>using namespace std;int a[20005], b[20005];//dragon, knightsint n, m;int main(){    while(cin >> n >> m && n  && m){        for(int i = 0; i < n; i++)            cin >> a[i];        for(int j = 0; j < m; j++)            cin >> b[j];        int flag = 1, sum = 0;        if(n > m) flag = 0;        else{            sort(a, a+n);            sort(b, b+m);            int i, j;            for(i = 0, j = 0; j < m && i < n; j++){                if(a[i] <= b[j]) i++, sum += b[j] ;            }            if(i < n) flag = 0;        }        if(flag) cout << sum <<endl;        else cout << "Loowater is doomed!" <<endl;    }}