Submission details
Task:Binge watching
Sender:aalto25b_004
Submission time:2025-09-10 16:28:20 +0300
Language:Python3 (PyPy3)
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.04 sdetails
#2ACCEPTED0.04 sdetails
#3ACCEPTED0.04 sdetails
#4ACCEPTED0.66 sdetails
#5--details
#6--details
#7ACCEPTED0.04 sdetails
#8ACCEPTED0.04 sdetails
#9ACCEPTED0.04 sdetails

Code

def function(n, movies):

    movies.sort(key=lambda x: x[1])
    dp = [0] * (n + 1)
    dp[0] = 0
    dp[1] = 1
    for i in range(2, n + 1):
        dp[i] = dp[i - 1]
        for j in range(i - 1, 0, -1):
            if movies[j - 1][1] <= movies[i - 1][0]:
                dp[i] = max(dp[i], dp[j] + 1)
                break
        else:
            dp[i] = max(dp[i], 1)
    return dp[n]


def main():
    # input :
    # 3
    # 3 5
    # 4 9
    # 5 8

    n = int(input())
    movies = []

    for _ in range(n):
        a, b = map(int, input().split())

        movies.append([a, b])


    result = function(n, movies)
    print(result)



if __name__ == "__main__":
    main()


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:

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

correct output
1

user output
(empty)

Test 6

Verdict:

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

correct output
725

user output
(empty)

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