CSES - Aalto Competitive Programming 2024 - wk2 - Wed - Results
Submission details
Task:Binge watching
Sender:aalto2024b_010
Submission time:2024-09-11 17:30:39 +0300
Language:C++11
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.00 sdetails
#2ACCEPTED0.00 sdetails
#3ACCEPTED0.00 sdetails
#4ACCEPTED0.15 sdetails
#5ACCEPTED0.15 sdetails
#6ACCEPTED0.20 sdetails
#7ACCEPTED0.00 sdetails
#8ACCEPTED0.00 sdetails
#9ACCEPTED0.00 sdetails

Code

#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;

struct sort_pred {
    bool operator()(const std::pair<int, int> &left, const std::pair<int, int> &right) {
        return left.second < right.second;
    }
};

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

    vector<pair<long int, long int>> movies(n);
    vector<pair<int, int>> movie_lengths(n);

    for (int i = 0; i < n; ++i) {
        cin >> movies[i].first >> movies[i].second;
    }

    sort(movies.begin(), movies.end(), sort_pred());

    //(for (int i = 0; i < n; ++i) cout << '('  << movies[i].first << ' ' << movies[i].second << ')' << endl;

    long int nmovies = 1;

    int last_end = movies[0].second;
    for (int i = 0; i <= n; ++i) {
        int startc = movies[i].first, endc = movies[i].second;

        //cout << "comp" << last_end <<  ' ' << startc << endl;
        if (last_end <= startc) {
            ++nmovies;
            last_end = endc;
        }
    }

    cout << nmovies << endl;
}

Test details

Test 1

Verdict: ACCEPTED

input
10
6 7
4 5
8 9
2 3
...

correct output
10

user output
10

Test 2

Verdict: ACCEPTED

input
10
1 1000
1 1000
1 1000
1 1000
...

correct output
1

user output
1

Test 3

Verdict: ACCEPTED

input
10
404 882
690 974
201 255
800 933
...

correct output
4

user output
4

Test 4

Verdict: ACCEPTED

input
200000
177494 177495
157029 157030
6030 6031
15209 15210
...

correct output
200000

user output
200000

Test 5

Verdict: ACCEPTED

input
200000
1 1000000000
1 1000000000
1 1000000000
1 1000000000
...

correct output
1

user output
1

Test 6

Verdict: ACCEPTED

input
200000
82334756 323555178
958182284 981100325
649818003 678160906
801994655 889397498
...

correct output
725

user output
725

Test 7

Verdict: ACCEPTED

input
3
1 1000
2 3
5 6

correct output
2

user output
2

Test 8

Verdict: ACCEPTED

input
3
3 4
5 6
7 8

correct output
3

user output
3

Test 9

Verdict: ACCEPTED

input
2
1 2
3 4

correct output
2

user output
2