時間限制: 2 sec 記憶體限制: 128 mb
提交: 26 解決: 7
[提交] [狀態] [討論版] [命題人:admin]
題目描述
你現在要洗l件衣服。你有n臺洗衣機和m臺烘乾機。由於你的機器非常的小,因此你每次只能洗滌(烘乾)一件衣服。
第i臺洗衣機洗一件衣服需要wi分鐘,第i臺烘乾機烘乾一件衣服需要di分鐘。請問把所有衣服洗乾淨並烘乾,最少需要多少時間?假設衣服在機器間轉移不需要時間,並且洗完的衣服可以過一會再烘乾。
輸入輸入第一行有3個整數l,n和m。第二行有n個整數w1,w2,...,wn。第三行有m個整數d1,d2,...,dm。
輸出輸出一行乙個整數,表示所需的最少時間。
樣例輸入
1 1 1
1200
34
樣例輸出
1234
提示
中山紀念中學20170310
[提交] [狀態]
【總結】
好題,好神仙題,好神仙貪心題。
【分析】
按照貪心策略,把每乙個洗衣機都壓入優先佇列,壓入的權值代表:如果我要用這個洗衣機,最早將在什麼時刻洗完一件衣服。
很明顯,如果我用某個洗衣機洗過一次,那麼其他衣服想用它的話,需要總共w[i]*2的時間洗完。
烘乾的話,我們想要最晚烘乾的那件衣服盡量早,所以我們讓最晚洗完的那件衣服,先烘乾(不要等了,這最晚洗完的要是等,肯定會拖延總時間)
以此貪心,解題。。
【**】
/****
***author: winter2121
****/
#include#define rep(i,s,t) for(int i=s;i<=t;i++)
#define si(i) scanf("%d",&i)
#define pi(i) printf("%d\n",i)
using namespace std;
typedef long long ll;
const int mod=1e9+7;
const int max=2e5+5;
const int inf=0x3f3f3f3f;
const double eps=1e-8;
int dir[9][2]=;
templatebool gmax(t &a,t b)
templatevoid gmod(t &a,t b)
typedef pairpii;
priority_queue,greater>q1,q2;
int l,n,m;
ll tim[max*5],w[max],d[max];
int main()
for(int i=1;i<=m;i++)
for(int i=0;i=0;i--) //讓最晚洗完的衣服,盡早的烘乾,才能保證最長的那個時間盡量短
printf("%lld\n",ans);
return 0;
}
行業只是洗衣服 統帥推出能洗衣服纖維的洗衣機
替換高畫質大圖 纖維級潔淨背後的技術引領 去除乙個口紅印,背後是乙個研發團隊歷時18個周的實驗。市面上的唇彩種類和顏色上百種,我們的實驗就需要幾十萬次。統帥研發人員告訴記者,每一種汙漬和面料的洗滌,需要洗滌水的水溫水質 洗滌劑的清潔效果和衣物材質洗滌方式這3大因素的配合。這意味著,在日常生活中常見的...
問題 M 洗衣服
時間限制 2 sec 記憶體限制 128 mb 提交 60 解決 19 提交 狀態 討論版 命題人 admin 題目描述 你現在要洗l件衣服。你有n臺洗衣機和m臺烘乾機。由於你的機器非常的小,因此你每次只能洗滌 烘乾 一件衣服。第i臺洗衣機洗一件衣服需要wi分鐘,第i臺烘乾機烘乾一件衣服需要di分鐘...
洗衣服的演算法改進
昨晚在洗衣服的時候,突然想到以前洗衣服的方法效率極低,先說一下以前是怎樣洗的。1.放滿一桶水。2.把要洗的衣服塞進這桶水裡。3.把衣服洗乾淨,然後放到乙個盆子裡,並倒乾淨桶裡的水。4.重新把桶子裝滿水,洗第二遍。重複步驟3。5.重複步驟4。6.洗衣服完畢。這樣的洗法只需要乙隻桶和乙隻盆,由於前幾天小...