1 solutions

  • 0
    @ 2025-11-5 15:13:56

    C :

    #include "stdio.h"
    
    int arr[1000000];
    
    void main()
    {
    	int n;
    	int tag1,tag2,max1,max2;
    	int i,j,k,x,y,max,min;
    	while (scanf("%d",&n)!=EOF)
    	{
    		max=0,min=9999999;
    		max1=0;max2=0;
    		tag1=0;tag2=0;
    		for (i=1;i<=1000000;i++) arr[i]=0;
        	for (i=1;i<=n;i++)
        	{
    	    	scanf("%d %d",&x,&y);
    	    	if (x<min) min=x;
    	    	if (y>max) max=y;
    	    	for (j=x;j<y;j++)	arr[j]=1;
        	}
        	for (i=min;i<=max;i++)
        	{
        		if (arr[i]==1)
    				tag1++;
    			else 
    				tag2++;
    			if ((arr[i]==1)&&(arr[i-1]==0))
        		{
         			if (tag2>max2) max2=tag2;
         			tag2=0;
        			tag1=1;
        		}
        		if ((arr[i]==0)&&(arr[i-1]==1))
        		{
    	    		if (tag1>max1) max1=tag1;
    	    		tag2=1;
    	    		tag1=0;
    	     	} 
        	}
        	printf("%d %d\n",max1,max2);
    	}
    
    }
    

    C++ :

    #include <bits/stdc++.h>
    using namespace std;
    #define maxn 1000005
    #define rep(i,x,y) for (int i=x;i<=y;i++)
    int a[maxn];
    int main()
    {
        int n;
        while(scanf("%d",&n)!=EOF){
            memset(a,0,sizeof(a));
            int min1=maxn+10,max2=0;
            for (int i=0;i<n;i++){
                int as,ad;
                scanf("%d%d",&as,&ad);
                min1=min(min1,as+1);
                max2=max(max2,ad);
                rep(s,as+1,ad) a[s]++;
            }
            int ans0=0,ans1=0;
            int an=0,as=0;
            rep(i,min1,max2){
                if (a[i]==0){
                    an++;
                    ans1=max(ans1,as);
                    as=0;
                }
                else
                {
                    as++;
                    ans0=max(ans0,an);
                    an=0;
                }
            }
            ans0=max(ans0,an);
            ans1=max(ans1,as);
            //if (ans0) ans0++;
            printf("%d %d\n",ans1,ans0);
        }
        return 0;
    }
    
    
    • 1

    Information

    ID
    16546
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By