Algorithms and Data Structures

  • Profound Academy

    • Status
      • 1
        Implementation
      • 2
        Bitwise operations
      • 3
        Prefix Sums
      • 4
        Sliding window / Two pointers
      • 5
        Modular Arithmetic
      • 6
        Number Theory
      • 7
        Binary Search
      • 8
        Basic Sorting
      • 9
        Greedy Algorithms
      • 10
        Basic Dynamic Programming
      • 11
        Recursion
      • 12
        Linked LIst
      • 13
        Queue & Stack
      • 14
        Binary tree + BST
      • 15
        Divide & Conquer + Advanced Sorting
      • 16
        Heap
      • 17
        Hashing
      • 18
        Graph Representation

  • Maximum non-intersecting segments

    Given n segments of the form [l; r] where both endpoints are inclusive, you are asked to calculate the maximum number of segments that have no intersection.
    Note that segments having their endpoints at the same coordinates are not considered to be intersecting.

    Input

    The first line of the input contains a single integer n (1 ≀ n ≀ ) - the number of segments.
    The next n lines contain two space separated integers and .

    Output

    The program should print the maximum number of non-intersecting segments.

    Examples

    Input
    Output
    3 3 5 2 4 4 8
    2
    Β 

    Constraints

    Time limit: 1 seconds

    Memory limit: 512 MB

    Output limit: 1 MB

    To check your solution you need to sign in
    Sign in to continue