挤牛的牛奶

来源:互联网 发布:软件著作权 版权 编辑:程序博客网 时间:2024/04/27 14:24

QAQ

#include <cstdio>#include <iostream>#include <cstring>#include <algorithm> using namespace std;struct zz{    int q;    int z;}a[5001];int comp(const zz&a,const zz&b){    if(a.q<b.q) return 1;    return 0;}int main(){    int ans1=-1;    int ans2=0;    int n;    scanf("%d",&n);    for(int i=1;i<=n;i++)     scanf("%d%d",&a[i].q,&a[i].z);    sort(a+1,a+n+1,comp);    ans1=a[1].z-a[1].q;    int n1=a[1].q;//起点    int n2=a[1].z;//终点    for(int i=2;i<=n;i++)     {         if(a[i].q>n2)//线段断开         {           ans2=max(ans2,a[i].q-n2);//更新断开值           n1=a[i].q;//记录新区间           n2=a[i].z;          ans1=max(ans1,n1-n2);//更新连续值,防止单独一人最大23333         }         if(a[i].q<=n2&&n2<=a[i].z)//线段包含         {             ans1=max(ans1,a[i].z-n1);//更新连续值             n2=a[i].z;//更新终点         }     }     printf("%d %d",ans1,ans2);     return 0;}
1 0