時間限制: 2 sec 記憶體限制: 128 mb
提交: 60 解決: 19
[提交] [狀態] [討論版] [命題人: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
提示
2018-8-9-今天發現乙個講很好的部落格傳送門~
貪心乙個優先佇列,悟一會,你想啊,怎樣縮短時間,小時候做過家務的話容易理解,
你煮飯的時候掃地一定節約時間,因為同一時間你在幹兩件事,這裡也一樣,
盡可能的讓洗衣服的時間和烘乾的時間重疊,那麼你用的時間一定最短
那,怎麼做呢,重疊嘛,先洗出來的衣服放進烘乾時間最長的烘乾機,這樣就好了,
那麼,最終的時間,用ans遍歷一遍取乙個最大值就好了
傳送門~
#includeusing namespace std;
typedef long long ll;
const int maxn=1e5+5;
ll n[maxn],m[maxn],l[1000005];
struct nodey,yy;
bool operator
int main()
ll ans = 0;
for ( int i=l;i>0;i-- )
printf( "%lld\n", ans );
return 0;
}
自己敲一遍
#includeusing namespace std;
typedef long long ll;
const int maxn=1e5+5;
ll n[maxn],m[maxn],l[1000005];
struct data
}a,b;
priority_queuewash,dry;
int main()
ll ans = 0;
for (int i=l;i>0;i--)
printf( "%lld\n", ans );
return 0;
}
行業只是洗衣服 統帥推出能洗衣服纖維的洗衣機
替換高畫質大圖 纖維級潔淨背後的技術引領 去除乙個口紅印,背後是乙個研發團隊歷時18個周的實驗。市面上的唇彩種類和顏色上百種,我們的實驗就需要幾十萬次。統帥研發人員告訴記者,每一種汙漬和面料的洗滌,需要洗滌水的水溫水質 洗滌劑的清潔效果和衣物材質洗滌方式這3大因素的配合。這意味著,在日常生活中常見的...
洗衣服的演算法改進
昨晚在洗衣服的時候,突然想到以前洗衣服的方法效率極低,先說一下以前是怎樣洗的。1.放滿一桶水。2.把要洗的衣服塞進這桶水裡。3.把衣服洗乾淨,然後放到乙個盆子裡,並倒乾淨桶裡的水。4.重新把桶子裝滿水,洗第二遍。重複步驟3。5.重複步驟4。6.洗衣服完畢。這樣的洗法只需要乙隻桶和乙隻盆,由於前幾天小...
2018 10 27測試T2 洗衣服
傳送門 一道貪心題,但考場上沒貪出來 維護兩個堆,分別存洗衣服和烘乾衣服的時間 每次加進來一件衣服,就在之前最早結束的那一台機器裡操作,這樣會是最優的 洗衣服和烘乾衣服都這樣搞,最後再用最大配最小的原則求最大值就行了 include include include include define n ...