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

  • Maximum Sum Subarray with Divide & Conquer Algorithm

    Given an array of n integers, find a contiguous subarray with the maximum sum of values using the divide & conquer technique.

    Input

    The first line of the input contains an integer n - number of elements in the array (1 ≤ n ≤ ).
    The next line contains n integers separated by a space, that represent the elements of the array .

    Output

    The program should print a single integer - the highest possible sum of the subarrays in the given array.

    Examples

    Input
    Output
    9 -2 1 -3 4 -1 3 1 -4 -2
    7
    10 1 -2 3 4 -3 1 7 -10 -20 4
    12

    Explanation

    1. -2 1 -3 4 -1 3 1 -4 -2 → The sum of the highlighted subarray is (4 - 1 + 3 + 1) = 7
    1. 1 -2 3 4 -3 1 7 -10 -20 4 → 3 + 4 -3 + 1 + 7 = 12
     

    Constraints

    Time limit: 2.5 seconds

    Memory limit: 512 MB

    Output limit: 1 MB

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