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

  • Remove 0 sum subarrays

    Given n integers, you are asked to remove all the contiguous subarrays that sum up to 0. You should start from the start of the array and move to the end of it, and as soon as a 0-sum-subarray is found, you should remove it from the array.

    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 resulting array after removing all the subarrays that sum up to 0.

    Examples

    Input
    Output
    8 5 -5 8 6 -14 9 9 -9
    9
    11 4 7 -11 8 7 10 -18 10 -17 20 25
    20 25

    Explanation

    1. Remove [5, -5], [8, 6, -14], and [9, -9]
    1. Remove [4 7 -11] and [8 7 10 -18 10 -17]
     

    Constraints

    Time limit: 2 seconds

    Memory limit: 512 MB

    Output limit: 10 MB

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