34282023-02-27 14:40:26CsongiTalálkozáscpp17Hibás válasz 0/5571ms5324 KiB
#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

struct Guest {
    int arrival;
    int departure;
};

int main() {
    int n;
    cin >> n;
    vector<Guest> guests(n);
    for (int i = 0; i < n; i++) {
        cin >> guests[i].arrival >> guests[i].departure;
    }

    sort(guests.begin(), guests.end(), [](const Guest& a, const Guest& b) {
        return a.arrival < b.arrival;
    });

    int maxOverlap = 0;
    int overlap = 0;
    int start = guests[0].arrival;
    int end = guests[0].departure;
    int bestStart = start;
    int bestEnd = end;
    for (int i = 1; i < n; i++) {
        if (guests[i].arrival <= end) {
            overlap++;
            end = max(end, guests[i].departure);
        } else {
            if (overlap > maxOverlap) {
                maxOverlap = overlap;
                bestStart = start;
                bestEnd = end;
            }
            overlap = 0;
            start = guests[i].arrival;
            end = guests[i].departure;
        }
    }

    if (overlap > maxOverlap) {
        maxOverlap = overlap;
        bestStart = start;
        bestEnd = end;
    }

    cout << maxOverlap+1 << endl;
    cout << bestStart << " " << bestEnd << endl;

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/55
1Hibás válasz0/03ms1680 KiB
2Hibás válasz0/068ms3204 KiB
3Hibás válasz0/23ms2064 KiB
4Hibás válasz0/23ms2308 KiB
5Hibás válasz0/23ms2520 KiB
6Hibás válasz0/23ms2632 KiB
7Hibás válasz0/23ms2588 KiB
8Hibás válasz0/33ms2712 KiB
9Hibás válasz0/33ms2920 KiB
10Hibás válasz0/33ms3140 KiB
11Hibás válasz0/36ms3260 KiB
12Hibás válasz0/38ms3508 KiB
13Hibás válasz0/38ms3460 KiB
14Hibás válasz0/314ms3568 KiB
15Hibás válasz0/314ms3572 KiB
16Hibás válasz0/314ms3572 KiB
17Hibás válasz0/314ms3700 KiB
18Hibás válasz0/321ms4056 KiB
19Hibás válasz0/371ms5112 KiB
20Hibás válasz0/363ms5040 KiB
21Hibás válasz0/368ms5248 KiB
22Hibás válasz0/368ms5324 KiB