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
      • 19
        BFS

  • Sort the numbers

    Given n integers, you are asked to sort them in increasing order. During each operation, you are allowed to pick one element and move it to the very beginning of the array. What would be the minimum number of operations to sort the array?

    Input

    The first line of the input contains a single integer n (1 ≤ n ≤ ).
    The next line contains n space-separated integers (1 ≤ ) array elements.

    Output

    The program should print the minimum number of operations required to sort the array.

    Examples

    Input
    Output
    6 11 13 15 12 14 16
    4

    Explanation

    1. Move 14 to the beginning
    1. Move 13 to the beginning
    1. Move 12 to the beginning
    1. Move 11 to the beginning
     

    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