A DDL 的恐懼 Week4作業)

2021-10-04 03:49:19 字數 1131 閱讀 4389

zjm 有 n 個作業,每個作業都有自己的 ddl,如果 zjm 沒有在 ddl 前做完這個作業,那麼老師會扣掉這個作業的全部平時分。

所以 zjm 想知道如何安排做作業的順序,才能盡可能少扣一點分。

請你幫幫他吧!input輸入包含t個測試用例。輸入的第一行是單個整數t,為測試用例的數量。

每個測試用例以乙個正整數n開頭(1<=n<=1000),表示作業的數量。

然後兩行。第一行包含n個整數,表示ddl,下一行包含n個整數,表示扣的分。output對於每個測試用例,您應該輸出最小的總降低分數,每個測試用例一行。

sample input

3 3 3

10 5 1

1 3 1

6 2 3

1 4 6 4 2 4 3

3 2 1 7 6 5 4

3 2 1 7 6 5 4

sample output

hint

上方有三組樣例。

對於第一組樣例,有三個作業它們的ddl均為第三天,zjm每天做乙個正好在ddl前全部做完,所以沒有扣分,輸出0。

貪心實現,貪心準則是任務的分數,分數越高的ddl優先順序越高;

·陣列根據score排序

·從每個任務的ddl開始向前遍歷,如果在ddl前有空餘時間,就把這個任務安排在此時間,並用乙個陣列記憶,避免一天安排多個任務;

·當有乙個任務沒有安排上時,利用ans記錄損失的任務分數

#include

using

namespace std;

struct node};

intmain()

for(

int i=

0;i) cin>>term[i]

.score;

sort

(term,term+m)

;int judge[maxn+1]

=;int ans=0;

for(

int i=

0;iif(flag==

false

) ans+

=term[i]

.score;

} cout<}return0;

}

Week4作業 A DDL的恐懼 貪心

有n個作業 1 n 1000 每個作業都有自己的ddl與平時分。請安排做作業的順序,拿到最多的平時分。輸入 共t個測試樣例,每個測試樣例共三行,第一行為作業數量n,第二行n個數表示ddl,第三行n個數表示平時分。對ddl進行降序排序。從最後一天往前,給每一天安排要寫的作業。列舉到第i天時,將所有dd...

程式設計 Week4 作業

題意 zjm 有 n 個作業,每個作業都有自己的 ddl,如果 zjm 沒有在 ddl 前做完這個作業,那麼老師會扣掉這個作業的全部平時分。所以 zjm 想知道如何安排做作業的順序,才能盡可能少扣一點分。請你幫幫他吧!input 輸入包含t個測試用例。輸入的第一行是單個整數t,為測試用例的數量。每個...

WEEK4 作業 C TT 的神秘禮物

tt 是一位重度愛貓人士,每日沉溺於 b 站上的貓咪頻道。有一天,tt 的好友 zjm 決定交給 tt 乙個難題,如果 tt 能夠解決這個難題,zjm 就會買乙隻可愛貓咪送給 tt。任務內容是,給定乙個 n 個數的陣列 cat i 並用這個陣列生成乙個新陣列 ans i 新陣列定義為對於任意的 i,...