130902025-01-06 14:16:50ruffbrigiTalálkozáscpp17Hibás válasz 50/5570ms3124 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
base50/55
1Elfogadva0/02ms1076 KiB
2Elfogadva0/068ms3120 KiB
3Hibás válasz0/22ms1076 KiB
4Elfogadva2/22ms1076 KiB
5Elfogadva2/21ms1076 KiB
6Elfogadva2/22ms1076 KiB
7Elfogadva2/22ms1020 KiB
8Elfogadva3/32ms1076 KiB
9Elfogadva3/32ms1076 KiB
10Elfogadva3/32ms1076 KiB
11Elfogadva3/36ms1588 KiB
12Elfogadva3/38ms1628 KiB
13Elfogadva3/38ms1588 KiB
14Elfogadva3/314ms1640 KiB
15Elfogadva3/314ms1640 KiB
16Elfogadva3/314ms1636 KiB
17Elfogadva3/314ms1644 KiB
18Elfogadva3/321ms2060 KiB
19Hibás válasz0/370ms3084 KiB
20Elfogadva3/361ms2820 KiB
21Elfogadva3/367ms2960 KiB
22Elfogadva3/367ms3124 KiB