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

  • Determine the most optimal algorithm

    Given n integers, your task is to determine which algorithm would be the most optimal (Selection, Insertion, or Bubble). You measure the optimality by the number of swaps an algorithm performs during sorting. To do that, you are asked to print the number of swaps that would be performed by each algorithm.

    Input

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

    Output

    The program should print the algorithm (Insertion, Selection, Bubble in this order) and the total number of swaps the algorithm would perform to sort the array.

    Examples

    Input
    Output
    4 1 4 3 2
    Insertion - 3 Selection - 1 Bubble - 3
    Tip
    Use the implementations from previous exercises to determine the number of swaps

    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