勇者鬥惡龍

2021-09-25 23:27:45 字數 957 閱讀 1351

你的王國裡有一條n個頭的惡龍,你希望僱傭一些騎士把它殺死(砍掉所有的頭)。村里有m個騎士可以僱傭,乙個能力值為x的騎士可以砍掉惡龍乙個致敬不超過x的頭,且需要支付x個金幣。如何僱傭騎士才能砍掉惡龍的所有頭,且需要支付的金幣最少?注意,乙個騎士只能砍乙個頭(且不能被僱傭兩次)。

輸入格式:輸入包含多組資料。每組資料的第一行為正整數n和m(1<=n,m<=20000);以下n行每行為乙個整數,即惡龍每個頭的直徑;以下m行每行為乙個整數,即每個騎士的能力。輸入結束標誌為n=m=0.

輸出格式:對於每組資料,輸出最少花費。如果無解,輸出「loowater is doomed!」。

樣例輸入

2 32 1

0 0樣例輸出

loowater is doomed!

c++

//勇者鬥惡龍 uva 11292

#include#includeusing namespace std;

int dragon[200001] = ; //惡龍頭的直徑

int knight[200001] = ; //騎士的勢力值

int main()

for (int j = 0; j < m; j++)

//進行排序,方便後續比較並求最小值

sort(dragon, dragon + n);

sort(knight, knight + m);

int mincost = 0;

int i = 0;

int j = 0;

while (1)

else

if (i == n || j == m)

}if (i == n)

else

}return 0;

}

勇者鬥惡龍

一 勇者鬥惡龍 你的王國有一條n個頭的惡龍,你希望顧一些騎士把他殺死 即砍掉所有的頭 村中有m個騎士可以僱傭,乙個能力值位x的騎士可以砍掉惡龍乙個直徑不超過x的頭,且需要支付x個金幣。如何僱傭騎士才能砍掉惡龍的所有的頭,且需要支付的金幣最少?注意,乙個騎士只能砍乙個頭 且不能被僱傭兩次 輸入格式 輸...

勇者鬥惡龍

有n個頭的惡龍,你希望僱一些騎士把它殺死 即砍掉所有頭 村里有 個騎士可以僱傭,乙個能力值為x的騎士可以砍掉惡龍 乙個直徑不超過x的頭,且需要支付x個金幣。如何僱傭騎士才能砍掉惡龍的所有頭,且需要支付的金幣最少?注意,乙個騎士只能砍乙個頭 且不能被僱傭兩次 輸入格式 多組資料,每組資料的第一行為正整...

勇者鬥惡龍

的王國裡有一條n個頭的惡龍,你希望僱一些騎士把它殺死 即砍掉所有頭 村里有m個騎士可以僱傭,乙個能力值為x的騎士可以砍掉惡龍乙個直徑不超過x的頭,且需要支付x個金幣。如何僱傭騎士才能砍掉惡龍的所有頭,且需要支付的金幣最少?注意,乙個騎士只能砍掉乙個頭 且不能被僱傭兩次 輸入輸入包含多組資料。每組資料...