130962025-01-06 14:28:36ruffbrigiTalálkozáscpp17Időlimit túllépés 0/55294ms1952 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/0286ms1076 KiB
2Időlimit túllépés0/0286ms1844 KiB
3Időlimit túllépés0/2286ms1076 KiB
4Időlimit túllépés0/2286ms1268 KiB
5Időlimit túllépés0/2282ms1076 KiB
6Időlimit túllépés0/2282ms1080 KiB
7Időlimit túllépés0/2282ms1268 KiB
8Időlimit túllépés0/3282ms1076 KiB
9Időlimit túllépés0/3280ms1080 KiB
10Időlimit túllépés0/3280ms1260 KiB
11Időlimit túllépés0/3280ms1332 KiB
12Időlimit túllépés0/3280ms1332 KiB
13Időlimit túllépés0/3293ms1332 KiB
14Időlimit túllépés0/3294ms1332 KiB
15Időlimit túllépés0/3294ms1336 KiB
16Időlimit túllépés0/3294ms1464 KiB
17Időlimit túllépés0/3287ms1516 KiB
18Időlimit túllépés0/3287ms1844 KiB
19Időlimit túllépés0/3289ms1844 KiB
20Időlimit túllépés0/3289ms1952 KiB
21Időlimit túllépés0/3289ms1844 KiB
22Időlimit túllépés0/3289ms1852 KiB