n個作業要在由2臺機器m1和m2組成的流水線上完成加工。每個作業加工的順序都是先在m1上加工,然後在m2上加工。m1和m2加工作業i所需的時間分別為aii和bii。你可以安排每個作業的執行順序,使得從第乙個作業在機器m1上開始加工,到最後乙個作業在機器m2上加工完成所需的時間最少。求這個最少的時間。
input
第1行:1個數n,表示作業的數量。(2 <= n <= 50000)
第2 - n + 1行:每行兩個數,中間用空格分隔,表示在m1和m2上加工所需的時間aii, bii。(1 <= aii, bii <= 10000)。
output
輸出完成所有作業所需的最少時間。
sample input
4sample output3 72 1
1 14 2
14**
#include#include#include#include#includeusing namespace std;
int n,a[50005],b[50005],c[50005],bg,ed;
struct node
nod[50005];
bool cmp(node n1,node n2)
int main()
else
}sort(nod+1,nod+n+1,cmp);
bg = 0,ed = n+1;
for(int i = 1;i <= n;++i)
long long asum = 0,bsum = 0,ans = 0;
for(int i = 1;i <= n;++i)
else
}printf("%lld\n",ans);
} return 0;
}
51nod 1205 流水線排程
1205 流水線排程 基準時間限制 1 秒 空間限制 131072 kb 分值 40 難度 4級演算法題 收藏 關注 n個作業要在由2臺機器m1和m2組成的流水線上完成加工。每個作業加工的順序都是先在m1上加工,然後在m2上加工。m1和m2加工作業i所需的時間分別為a i 和b i 你可以安排每個作...
貪心(流水線排程問題) 51nod 1205
關於流水下排程之前上課,高老師講了 一台和兩台機器的排程問題,不過都是一次加工完成的,如果是這種情況就只需要每次挑加工時間最短的就可以了 但是這題較之要難一點 一件物品加工兩次 一件物品粗加工後,才能到第二個機器進行深加工。因此計算時間的時候借助畫線段來分析思路比較清晰。思路 先把所有物品分為兩類,...
流水線排程
n個作業要在由2臺機器m1和m2組成的流水線上完成加工。每個作業加工的順序都是先在m1上加工,然後在m2上加工。m1和m2加工作業i所需的時間分別為a i 和b i 你可以安排每個作業的執行順序,使得從第乙個作業在機器m1上開始加工,到最後乙個作業在機器m2上加工完成所需的時間最少。求這個最少的時間...