проблема:

найти максимальную сумму элементов в подмассиве, содержащем уникальные элементы
пример: входной массив = [4,3,2,7,8,2,3,5] выходной = 25

Подход:
шаг 1. найти уникальные элементы, которые должны содержать уже посещенные элементы
шаг 2. сохранить текущую сумму и максимальную сумму для каждого элемента
шаг 3. если появляется повторяющийся элемент, удалить все элементы с карты до последнего индекса того же элемента

Код: Python

def unique_subarray_sum(array):
    i = 0
    j = 1
    visited = {}
    current_sum = array[0]
    max_sum = current_sum
    visited[array[0]] = 1

    while j < len(array) and i < len(array) - 1:
        if array[j] not in visited:
            current_sum += array[j]
            max_sum = max(current_sum, max_sum)
            visited[array[j]] = 1
            j += 1
        else:
            current_sum -= array[i]
            del visited[array[i]]
            i += 1

    return max_sum

Сложность: временная сложность: O(n) пространственная сложность: O(n)