的王國裡有一條n個頭的惡龍,你希望僱一些騎士把它殺死(即砍掉所有頭)。村里有m個騎士可以僱傭,乙個能力值為x的騎士可以砍掉惡龍乙個直徑不超過x的頭,且需要支付x個金幣。如何僱傭騎士才能砍掉惡龍的所有頭,且需要支付的金幣最少?注意,乙個騎士只能砍掉乙個頭(且不能被僱傭兩次)。輸入輸入包含多組資料。每組資料的第一行為正整數n和m(
1<=n,m<=20
000);以下n行每行為乙個整數,即惡龍每個頭的直徑;以下m行每行乙個整數,即每個騎士的能力。
輸入結束標誌為n=m=0。輸出
對於每組資料,輸出最少花費。如果無解,輸出「loowater
is doomed!」。
樣例輸入23
5478
4215
51000
樣例輸出
11loowater
is doomed!
#includeint a[20000],b[20000]; //一般來說,貪心都要排序
intmain()
for(int k=0;k)
for(i=0;i1-k;i++)
if(b[i]>b[i+1
])
for(int i=0;i) //比較m次,有多少個勇士就要比較多少次
}if(j==n) //惡龍的頭被砍完了
printf(
"%d\n
",s);
else
printf(
"loowater is doomed!\n");
}return0;
}
勇者鬥惡龍
一 勇者鬥惡龍 你的王國有一條n個頭的惡龍,你希望顧一些騎士把他殺死 即砍掉所有的頭 村中有m個騎士可以僱傭,乙個能力值位x的騎士可以砍掉惡龍乙個直徑不超過x的頭,且需要支付x個金幣。如何僱傭騎士才能砍掉惡龍的所有的頭,且需要支付的金幣最少?注意,乙個騎士只能砍乙個頭 且不能被僱傭兩次 輸入格式 輸...
勇者鬥惡龍
你的王國裡有一條n個頭的惡龍,你希望僱傭一些騎士把它殺死 砍掉所有的頭 村里有m個騎士可以僱傭,乙個能力值為x的騎士可以砍掉惡龍乙個致敬不超過x的頭,且需要支付x個金幣。如何僱傭騎士才能砍掉惡龍的所有頭,且需要支付的金幣最少?注意,乙個騎士只能砍乙個頭 且不能被僱傭兩次 輸入格式 輸入包含多組資料。...
勇者鬥惡龍
有n個頭的惡龍,你希望僱一些騎士把它殺死 即砍掉所有頭 村里有 個騎士可以僱傭,乙個能力值為x的騎士可以砍掉惡龍 乙個直徑不超過x的頭,且需要支付x個金幣。如何僱傭騎士才能砍掉惡龍的所有頭,且需要支付的金幣最少?注意,乙個騎士只能砍乙個頭 且不能被僱傭兩次 輸入格式 多組資料,每組資料的第一行為正整...