3504 2023. 02. 28 13:45:00 Eyusie Találkozás cpp17 Időlimit túllépés 52/55 261ms 7720 KiB
#include <iostream>
#include <bits/stdc++.h>
using namespace std;

struct interv
{
    int k;
    bool ki;
};
bool comp(interv a, interv b)
{
    return a.k == b.k ? a.ki : a.k < b.k;
}
int main()
{
    int n;
    cin >> n;
    vector<interv> ember(2*n);
    set<int> egysz;
    string asd;
    int mx = 0;
    bool swp = true;
    for(int i = 0; i < 2*n; i+=2)
    {
        cin >> ember[i].k;
        ember[i].ki = true;
        if(ember[i].k > mx) mx = ember[i].k;
        cin >> ember[i+1].k;
        ember[i+1].ki = false;
}
    int fel;
    if(n%2 == 1) fel = n/2 + 1;
    else fel = n/2;
    int szamlalo = 0;
    int hossz = 999999999;
    int van = 0;
    int legkh = 999999999;
    int u = 0, v = -1;
    int kezdet = 0;
    sort(ember.begin(), ember.end(), comp);
    while(v < 2*n)
    {
        while(szamlalo < fel && v != 2*n)
        {
            v++;
            if(ember[v].ki) szamlalo++;
        }
        if(v == 2*n) break;
        while(ember[u].ki && u < v) u++;
        hossz = ember[v].k-ember[u].k;
        if(hossz < legkh)
        {
            legkh = hossz;
            kezdet = ember[u].k;
        }
        u++;
        szamlalo--;
    }
    cout << legkh+1 << "\n" << kezdet << " " << kezdet+legkh;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 52/55
1 Elfogadva 0/0 3ms 1808 KiB
2 Elfogadva 0/0 89ms 5096 KiB
3 Elfogadva 2/2 3ms 2272 KiB
4 Elfogadva 2/2 3ms 2480 KiB
5 Elfogadva 2/2 3ms 2640 KiB
6 Elfogadva 2/2 3ms 2888 KiB
7 Elfogadva 2/2 3ms 3072 KiB
8 Elfogadva 3/3 3ms 3172 KiB
9 Elfogadva 3/3 3ms 3400 KiB
10 Elfogadva 3/3 3ms 3500 KiB
11 Elfogadva 3/3 7ms 3844 KiB
12 Elfogadva 3/3 9ms 3876 KiB
13 Elfogadva 3/3 9ms 3880 KiB
14 Elfogadva 3/3 17ms 4264 KiB
15 Elfogadva 3/3 17ms 4308 KiB
16 Elfogadva 3/3 17ms 4508 KiB
17 Elfogadva 3/3 17ms 4604 KiB
18 Elfogadva 3/3 27ms 5008 KiB
19 Elfogadva 3/3 82ms 7472 KiB
20 Időlimit túllépés 0/3 261ms 5472 KiB
21 Elfogadva 3/3 89ms 7660 KiB
22 Elfogadva 3/3 89ms 7720 KiB