51nod 1205 流水线调度

来源:互联网 发布:王者荣耀网络不稳定 编辑:程序博客网 时间:2024/04/30 11:02

Johnson算法。本来想证明下的,太懒了。。。

#include<bits/stdc++.h>using namespace std;struct task{long long t1,t2;}a[50050],b[50050],tmp;bool cmp1(task a,task b){return a.t1<b.t1;}bool cmp2(task a,task b){return a.t2>b.t2;}int main(){long long n,i,last,st,asum,bsum;while(cin>>n){asum=bsum=0;for(i=0;i<n;i++){scanf("%lld%lld",&tmp.t1,&tmp.t2);if(tmp.t1<tmp.t2)a[asum++]=tmp;elseb[bsum++]=tmp;}sort(a,a+asum,cmp1);sort(b,b+bsum,cmp2);for(i=0;i<bsum;i++){a[asum+i]=b[i];}asum+=bsum;last=0;st=0;for(i=0;i<asum;i++){st+=a[i].t1;last=max(last,st);last+=a[i].t2;}printf("%lld\n",last);}}


0 0
原创粉丝点击