UVA 11292 The Dragon of Loowater 英文略长略长

UVA 11292 The Dragon of Loowater

其实很水的。。。看题目花的时间比写的时间更久。
题意是 一个龙有n个头 头都有直径 有m个骑士 骑士有身高 如果身高超过直径 骑士就能砍下龙头 一个骑士只能砍一个头 国王雇佣骑士 价格是骑士的身高 求国王最少要多少钱才能杀掉龙 如果杀不掉 就输出 Loowater is doomed!

贪心思想,直接骑士和龙头都从小到大排,从最小的骑士开始选去砍龙头。。

#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;

const int MAXN = 20005;

int n, m, d[MAXN], k[MAXN], ans;

void init() {
    ans = 0;
    for (int i = 0; i < n; i ++)
	scanf("%d", &d[i]);
    for (int i = 0; i < m; i ++)
	scanf("%d", &k[i]);
}

void solve() {
    init();
    sort(d, d + n);
    sort(k, k + m);
    int j = 0;
    for (int  i = 0; i < m; i ++) {
	if (k[i] >= d[j]) {
	    ans += k[i];
	    j ++;
	    if (j == n) {
		printf("%d\n", ans);
		return;
	    }
	}
    }
    printf("Loowater is doomed!\n");
}

int main() {
    while (~scanf("%d%d", &n, &m) && n + m) {
	solve();
    }
    return 0;
}





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值