Codeforces - 1175D массив Расщепление (+ деление суффикс массива и жадный +)

У вас есть массив  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], то стоимость деления равна 11-21- 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 ; 
}

рекомендация

отwww.cnblogs.com/yzm10/p/11110180.html