130942025-01-06 14:26:54ruffbrigiTalálkozáscpp17Időlimit túllépés 0/55284ms1948 KiB
#include <iostream>

using namespace std;

int main()
{
    int n,x,y;
    cin>>n;
    int e[100001],t[100001],legkesobb=0,fele=(n+1)/2;
    for(int i=1;i<=100000;i++)
    {
        e[i]=0;
        t[i]=0;
    }
    for(int i=1;i<=n;i++)
    {
        cin>>x>>y;
        e[x]++;
        t[y]++;
        if(y>legkesobb) legkesobb=y;
    }
    int s=1,f;
    int ossze[legkesobb+1],osszt[legkesobb+1];
    ossze[0]=0;
    osszt[0]=0;
    bool ok=false;
    for(int i=1;i<=legkesobb;i++)
    {
        ossze[i]=ossze[i-1]+e[i];
        osszt[i]=osszt[i-1]+t[i];
        if(!ok and ossze[i]>=fele)
        {
            ok=true;
            f=i;
        }
    }
    int legrov=f-s+1,bs=s,bf=f;
    while(f<=legkesobb)
    {
       while(ossze[f]-osszt[s-1]>=fele)
       {
           s++;
       }
       if(f-s+2<legrov)
       {
           legrov=f-s+2;
           bs=s-1;
           bf=f;
       }
       while(f<legkesobb && ossze[f]-osszt[s-1]<fele)
       {
           f++;
       }
    }
    cout<<legrov<<endl;
    cout<<bs<<" "<<bf;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/55
1Időlimit túllépés0/0277ms1076 KiB
2Időlimit túllépés0/0277ms1840 KiB
3Időlimit túllépés0/2277ms1076 KiB
4Időlimit túllépés0/2277ms1080 KiB
5Időlimit túllépés0/2275ms1076 KiB
6Időlimit túllépés0/2275ms1076 KiB
7Időlimit túllépés0/2275ms1076 KiB
8Időlimit túllépés0/3275ms1076 KiB
9Időlimit túllépés0/3282ms1076 KiB
10Időlimit túllépés0/3282ms1364 KiB
11Időlimit túllépés0/3282ms1332 KiB
12Időlimit túllépés0/3284ms1332 KiB
13Időlimit túllépés0/3280ms1352 KiB
14Időlimit túllépés0/3280ms1436 KiB
15Időlimit túllépés0/3280ms1524 KiB
16Időlimit túllépés0/3280ms1332 KiB
17Időlimit túllépés0/3277ms1332 KiB
18Időlimit túllépés0/3277ms1948 KiB
19Időlimit túllépés0/3279ms1848 KiB
20Időlimit túllépés0/3280ms1852 KiB
21Időlimit túllépés0/3275ms1844 KiB
22Időlimit túllépés0/3275ms1852 KiB