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

  • Minimum number of perfect squares

    Given an integer n, you are asked to find as few perfect squares (1, 4, 9, 16, 25, 36, etc.) as possible that sum up to n. How many perfect squares would you pick?

    Input

    The input contains a single integer n (1 ≀ n ≀ 60000).

    Output

    The program should print the minimum number of perfect squares you would pick.

    Examples

    Input
    Output
    344
    3

    Explanation

    Β 

    Constraints

    Time limit: 4.5 seconds

    Memory limit: 512 MB

    Output limit: 1 MB

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