44162023-03-27 18:45:27balaaaazsZsonglőrködéscpp14Hibás válasz 0/100207ms8616 KiB
#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

struct Talk {
    int start;
    int end;
};

bool compareTalks(const Talk& talk1, const Talk& talk2) {
    return talk1.start < talk2.start;
}

int main() {
    int n;
    cin >> n;

    vector<Talk> talks(n);
    for (int i = 0; i < n; i++) {
        cin >> talks[i].start >> talks[i].end;
    }

    sort(talks.begin(), talks.end(), compareTalks);

    vector<int> schedule(n);
    int daysNeeded = 1;
    int currentDay = talks[0].end;

    schedule[0] = currentDay;
    for (int i = 1; i < n; i++) {
        if (talks[i].start > currentDay) {
            // This talk cannot be held on the same day as the previous one
            currentDay = talks[i].end;
            daysNeeded++;
        } else {
            // This talk can be held on the same day as the previous one
            currentDay = max(currentDay, talks[i].end);
        }
        schedule[i] = currentDay;
    }

    cout << daysNeeded << endl;

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Hibás válasz3ms1816 KiB
2Hibás válasz3ms2056 KiB
subtask20/20
3Hibás válasz4ms2296 KiB
4Hibás válasz63ms3832 KiB
5Hibás válasz155ms5944 KiB
6Hibás válasz185ms6776 KiB
7Hibás válasz207ms7588 KiB
8Hibás válasz206ms7512 KiB
9Hibás válasz206ms7764 KiB
10Hibás válasz207ms7880 KiB
11Hibás válasz206ms7832 KiB
subtask30/35
12Hibás válasz3ms3360 KiB
13Hibás válasz3ms3500 KiB
14Hibás válasz3ms3364 KiB
15Hibás válasz3ms3364 KiB
16Hibás válasz3ms3608 KiB
17Hibás válasz3ms3588 KiB
18Hibás válasz3ms3580 KiB
19Hibás válasz3ms3588 KiB
20Hibás válasz3ms3684 KiB
subtask40/45
21Hibás válasz4ms3832 KiB
22Hibás válasz59ms5124 KiB
23Hibás válasz155ms7344 KiB
24Hibás válasz171ms7944 KiB
25Hibás válasz204ms8468 KiB
26Hibás válasz192ms8524 KiB
27Hibás válasz204ms8616 KiB
28Hibás válasz190ms8616 KiB
29Hibás válasz206ms8476 KiB