挤牛奶

来源:互联网 发布:java常用的gc算法 编辑:程序博客网 时间:2024/06/09 20:28

桶排的思想,数据太水,过了,还有正解排序维护一个区间,时刻更新,所以要赋初值,找到n+1否则不更新

#include<iostream>#include<cstring>using namespace std;int f[2000000];int max1=0,max2=0,max3=-9999999;int n;int flag,flag2;int main(){    scanf("%d",&n);    for(int i=1;i<=n;i++)    {        int x,y;        scanf("%d%d",&x,&y);        max3=max(max3,y);        for(int i=x;i<=y;i++)        {        //h[i]=max(i-x,h[i]);        //t[i]=max(y-i,t[i]);        //dis[i]=max(dis[i],h[i]+t[i]);            f[i]=1;        }    }    int z;     for(int i=0;i<=max3;i++) if(f[i]!=0){z=i;        break;    }    int q=z;    for(int i=z;i<=max3+1;i++)    {        if(f[i]==0&&flag==0)        z=i,flag=1;        else if(f[i]==1&&flag==1)        {            max1=max(max1,i-z+1);            flag=0;        }    }    for(int i=q;i<=max3+1;i++)    {        if(f[i]==1&&flag2==0)        q=i,flag2=1;        else if(f[i]==0&&flag2==1)        {            max2=max(max2,i-q-1);            flag2=0;        }    }    printf("%d %d",max2,max1);}
0 0
原创粉丝点击