2564 2023. 01. 17 10:51:42 kicsiboglar Találkozás cpp11 Időlimit túllépés 24/55 300ms 7928 KiB
#include <iostream>
//#include <fstream>
#include <vector>
#include <deque>
#include <algorithm>
#include <climits>
#include <map>
#define ll long long 

using namespace std;
//ifstream cin ("input.in");
//ofstream cout ("output.out");

ll n,m,i,j,a,b,len,start,nr,pos,mini=LLONG_MAX;

struct adat
{
    ll value,nr;
    bool st;
};

bool compare (const adat& a, const adat &b)
    {
        return a.value<b.value;
    }

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);

    cin>>n;
    vector <adat> x(2*n+1);
    for (i=1;i<=n;++i)
    {
        cin>>a>>b;
        x[2*i-1].value=a;
        x[2*i-1].nr=i;
        x[2*i-1].st=true;
        x[2*i].value=b;
        x[2*i].nr=i;
        x[2*i].st=false;
        
    }

    sort (x.begin()+1, x.end(),compare);

    //for (auto &e:x) cout<<e.value<<" "<<e.st<<"\n";

    //vector <bool> opened(n+1,false);
    map<ll,bool> opened;
    a=0;
    for (i=1;i<2*n;++i)
    {
        start=x[i].value;
        if (x[i].st) a++;//opened[x[i].nr]=true;
        nr=a;
        //for (j=1;j<=n;++j) opened[j]=false;
        //opened.clear();
        for (j=i+1;j<=2*n;++j)
        {
            if (x[j].st) 
            {
                nr++;
                //opened[x[j].nr]=true;
            }
            //else if (!opened[x[j].nr]) nr++;
            if (nr>=n/2)
            {
                if (x[j].value-start+1<mini)
                {
                    mini=x[j].value-start+1;
                    pos=start;
                }
                break;
            }
            
        }
        if (!x[i].st) a--;
    }

    cout<<mini<<"\n"<<pos<<" "<<pos+mini-1;

}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 24/55
1 Elfogadva 0/0 3ms 1696 KiB
2 Időlimit túllépés 0/0 300ms 5864 KiB
3 Elfogadva 2/2 2ms 2116 KiB
4 Hibás válasz 0/2 2ms 2268 KiB
5 Hibás válasz 0/2 2ms 2504 KiB
6 Elfogadva 2/2 2ms 2564 KiB
7 Elfogadva 2/2 2ms 2792 KiB
8 Elfogadva 3/3 2ms 2768 KiB
9 Elfogadva 3/3 2ms 2900 KiB
10 Elfogadva 3/3 2ms 2972 KiB
11 Elfogadva 3/3 59ms 3596 KiB
12 Elfogadva 3/3 137ms 3964 KiB
13 Elfogadva 3/3 140ms 4124 KiB
14 Időlimit túllépés 0/3 256ms 3504 KiB
15 Időlimit túllépés 0/3 245ms 3512 KiB
16 Időlimit túllépés 0/3 282ms 3700 KiB
17 Időlimit túllépés 0/3 266ms 3604 KiB
18 Időlimit túllépés 0/3 266ms 4328 KiB
19 Időlimit túllépés 0/3 273ms 7556 KiB
20 Időlimit túllépés 0/3 248ms 7752 KiB
21 Időlimit túllépés 0/3 261ms 7928 KiB
22 Időlimit túllépés 0/3 270ms 7844 KiB