時間限制:800ms **長度限制:10kb
提交次數:0 通過次數:0
題型: 程式設計題 語言: g++;gcc;vc
有n個頭的惡龍,你希望僱一些騎士把它殺死(即砍掉所有頭)。村里有m個騎士可以僱傭,乙個能力值為x的騎士可以砍掉惡龍
乙個直徑不超過x的頭,且需要支付x個金幣。如何僱傭騎士才能砍掉惡龍的所有頭,且需要支付的金幣最少?注意,乙個騎士只
能砍乙個頭(且不能被僱傭兩次)
多組資料,每組資料的第一行為正整數n和m(1<=n,m<=200000);以下n行每行為乙個整數,即惡龍每個頭的直徑;以下m行每行為
乙個整數,即每個騎士的能力。輸入結束標誌n=m=0;
輸出格式:每組資料,輸出最少花費,無解輸出"loowater is doomed!"
2 3547
842 15510
0 011
loowater is doomed!
作者 admin
解題思路:將騎士從1到m試探,此過程看看可以砍掉哪些龍頭;注意關閉流同步輸入,否則超時。
#include
#include
using namespace std;
int knight[
200005];
int head[
200005];
intmain()
if(j-
1==n)
//如果已經砍完龍頭 }if
(j-1
!=n)
cout<<
"loowater is doomed!"
<}return0;
}
secondly:
#include
#include
#include
using
namespace std;
int a[
200005
],b[
200005];
intmain()
if(cur>m)
//騎士無了
break;}
if(cut_head!=n)
cout<<
"loowater is doomed!"
cout<}return0;
}
18118 勇者鬥惡龍
時間限制 800ms 記憶體限制 65535k 提交次數 0 通過次數 0 題型 程式設計題 語言 g gcc vc 有n個頭的惡龍,你希望僱一些騎士把它殺死 即砍掉所有頭 村里有 個騎士可以僱傭,乙個能力值為x的騎士可以砍掉惡龍 乙個直徑不超過x的頭,且需要支付x個金幣。如何僱傭騎士才能砍掉惡龍的...
SCAU 18118 勇者鬥惡龍
description 有n個頭的惡龍,你希望僱一些騎士把它殺死 即砍掉所有頭 村里有 個騎士可以僱傭,乙個能力值為x的騎士可以砍掉惡龍 乙個直徑不超過x的頭,且需要支付x個金幣。如何僱傭騎士才能砍掉惡龍的所有頭,且需要支付的金幣最少?注意,乙個騎士只 能砍乙個頭 且不能被僱傭兩次 輸入格式 多組資...
勇者鬥惡龍
一 勇者鬥惡龍 你的王國有一條n個頭的惡龍,你希望顧一些騎士把他殺死 即砍掉所有的頭 村中有m個騎士可以僱傭,乙個能力值位x的騎士可以砍掉惡龍乙個直徑不超過x的頭,且需要支付x個金幣。如何僱傭騎士才能砍掉惡龍的所有的頭,且需要支付的金幣最少?注意,乙個騎士只能砍乙個頭 且不能被僱傭兩次 輸入格式 輸...