時間限制: 1 sec 記憶體限制: 128 mb
提交: 24 解決: 7
[提交] [狀態] [討論版] [命題人:外部匯入]
題目描述
工匠小k最近有n個零件需要加工。每個零件都需要ti天的時間來完成,每個零件每延遲一天加工都要繳納一定的罰金si。延遲的天數為從今天算起到該工作開始的那天,第乙個零件加工沒有罰金。現在小k想知道怎樣安排加工順序可以使他要交的罰金最少,最少是多少。
這個數可能會很大,請輸出這個數對m取模後的結果。
輸入輸入檔名為process.in。
輸入第一行為乙個整數n,表示需要加工的零件總數。
第二行為乙個整數m,表示答案要對m取模。
第3~n+2行,每行兩個整數ti和si。
輸出輸出檔名為process.out。
輸出僅一行,乙個整數,表示小k最少要繳納的罰金對m取模的結果。
樣例輸入
2樣例輸出100
2 33
33 2
4提示
【輸入輸出樣例解釋1】
先加工第乙個,需要2天時間,再加工第二個。需要繳納的罰金為2×2=4。
【輸入輸出樣例2】process.in
4100
3 36 4
2 28 5
process.out
81
【輸入輸出樣例解釋2】
如果按照1→2→3→4的順序進行加工,需要繳納的罰金為0×3+3×4+(3+6)×2+
(3+6+2)×5=85;
最佳方案是3→1→2→4,此時需要繳納的罰金為0×2+2×3+(2+3)×4+(2+3+6)×5=81。
【資料範圍】
對於40%的資料,0
i,si≤10,000;
對於80%的資料,0
i,si≤2×109,0
對於100%的資料,0
b06-貪心
這一道題看上去好難的樣子鴨 加油哦
上面是老師發的一段講解()(《若有》《所思》)
那麼既然正解都出來了 卡一卡試試吧
#include#define ll long longusing
namespace
std;
struct
nodearr[
100005
];int
cmp(node a,node b)
ll cheng(ll a,ll b,ll m)
return
ans;
}int
main()
cout
<
return0;
}
零件加工(貪心)
時間限制 1 sec 記憶體限制 128 mb 題目描述 工匠小k最近有n個零件需要加工。每個零件都需要ti天的時間來完成,每個零件每延遲一天加工都要繳納一定的罰金si。延遲的天數為從今天算起到該工作開始的那天,第乙個零件加工沒有罰金。現在小k想知道怎樣安排加工順序可以使他要交的罰金最少,最少是多少...
NOIP 加工零件 題解
加工零件凱凱的工廠正在有條不紊地生產一種神奇的零件,神奇的零件的生產過程自然也很神奇。工廠裡有 nn 位工人,工人們從 1 sim n1 n 編號。某些工人之間存在雙向的零件傳送帶。保證每兩名工人之間最多隻存在一條傳送帶。如果 xx 號工人想生產乙個被加工到第 l l gt 1 l l 1 階段的零...
加工零件 execution
題面 有 n 個零件需要加工。零件之間有 m 個限制,x y 表示 x 要在 y 之前先加工完。每個零件的加工時間都是 1。現在有無限個多個工具機,在滿足限制條件的情況下,零件可以同時加工。求加工完所有零件最少需要多少時間,然後還要求出在時間最少的前提下,最少需要多少工具機。資料保證有解。對於 10...