У вас есть массив 1 , 2 , ... , п а1, а2, ..., ап и целое число к к.
Вы просили , чтобы разделить этот массив в к K непустых последовательных подмассивов. Каждый элемент массива должен быть включен ровно в одной подрешетки. Пусть F ( я ) е (я) быть индексом подмассива в I я-й элемент принадлежит. Подмассивы пронумерованы слева направо и 1 1 до K к.
Пусть стоимость деления равна Е I = 1 п ( я ⋅ F ( я ) ) сг = 1n (ai⋅f (я)). Например, если A = [ 1 , - 2 , - 3 , 4 , - 5 , 6 , - 7 ] а = [1, -2, -3,4, -5,6, -7] , и мы разделим его в 3 - 3 subbarays следующим образом: [ 1 , - 2 , - 3 ] , [4 , - 5 ] , [ 6 , - 7 ] [1, -2, -3], [4, -5], [6, -7], то стоимость деления равна 1⋅1-2⋅1- 3 ⋅ 1 + 4 ⋅ 2 - 5 ⋅ 2 + 6 ⋅ 3 - 7 ⋅ 3 = - 9 1⋅1-2⋅1-3⋅1 + 4⋅2-5⋅2 + 6⋅3-7⋅ 3 = -9.
Рассчитать максимальную стоимость вы можете получить путем деления массива на а , в к K непустых последовательным подмассивов.
вход
Первая строка содержит два целых числа п п и K к ( 1 ≤ K ≤ N ≤ 3 ⋅ 10 5 1≤k≤n≤3⋅105).
Вторая строка содержит п п целые числа а 1 , а 2 , ... , п a1, a2, ..., An ( | в I | ≤ 10 6 | AI | ≤106).
Выход
Выведите максимальную стоимость вы можете получить путем деления массива на а , в к к непустым последовательным подмассивам.
Примеры
5 2 -1 -2 5 -4 8
15
7 6 -3 0 -1 -2 -2 -4 -1
-45
4 1 3 -1 6 0
8 ,
что Италия:
Учитывая массив длиной п, который разделен на к частям. Q. Как делятся так , что каждая часть [я (я-я) * сумма (I часть и внутренняя)] , а максимальная сумма.
Идеи:
использование суффиксов и мышления, дифференциальная (слева минус справа) и выражается в виде непрерывного интервала.
(Расщепление суммируется) , чтобы получить результаты в соответствии с формулой, к является суффиксом и сложение.
Ruoshi ответить на самые, просто нужно найти самый большой и к суффикс, жадность может быть.
Примечание: S (р1) и суффикс должен сначала, чтобы обеспечить охват всех элементов массива, к-1 оставшиеся от максимума , чтобы найти начало.
# include <бит / STDC ++ ч.> с использованием пространства имен STD; ЬурейеЕ долго долго LL; LL а [ 300005 ], суф [ 300005 ]; INT основных () { INT т, п, к, I, J; зсапЕ ( " % d% d " , & п, & к); для (я = 1 ; г <= п; я ++ ) { зсапЕ ( " % I64d " , & [I]); } Для (я = п; я> = 1 ; i-- ) { суф [I] = SUF [I + 1 ] + A [I]; } сортировки (SUF + 2 , суф + п + 1 ); LL ANS = SUF [ 1 ]; для (я = п; я> п (к- 1 ); i-- ) { ANS + = SUF [I]; } Е ( " % I64d \ п " , ANS); вернуться 0 ; }