标签:
A型机器从输入库接受工件,对其施加操作A,得到的中间产品存放在缓冲库。B型机器从缓冲库接受中间产品,对其施加操作B,得到的最终产品存放在输出库。所有的机器平行并且独立地工作,每个库的容量没有限制。每台机器的工作效率可能不同,一台机器完成一次操作需要一定的时间。
给出每台机器完成一次操作的时间,计算完成A操作的时间总和的最小值,和完成B操作的时间总和的最小值。
/* ID: modengd1 PROG: job LANG: C++ */ #include <iostream> #include <stdio.h> #include <memory.h> using namespace std; int N,M[2],t[2][30]; int cost[2][1000],delay[30],ans; int main() { freopen("job.in","r",stdin); freopen("job.out","w",stdout); scanf("%d%d%d",&N,&M[0],&M[1]); for(int i=0;i<M[0];i++) scanf("%d",&t[0][i]); for(int i=0;i<M[1];i++) scanf("%d",&t[1][i]); for(int k=0;k<2;k++) { memset(delay,0,sizeof(delay)); for(int i=0;i<N;i++) { int T=0x7fffffff,tag; for(int j=0;j<M[k];j++) { if(delay[j]+t[k][j]<T) { T=delay[j]+t[k][j]; tag=j; } } cost[k][i]=T; delay[tag]+=t[k][tag]; } } ans=0; for(int i=0;i<N;i++) { ans=max(cost[0][i]+cost[1][N-1-i],ans); } cout<<cost[0][N-1]<<‘ ‘<<ans<<endl; return 0; }
标签:
原文地址:http://www.cnblogs.com/modengdubai/p/4850946.html